FreeNX: просмотр незавершенных процессов

С FreeNX есть одна проблема — иногда после закрытия сессии пользователем некоторые процессы могут оставаться запущенными. Вот небольшой bash скрипт, который получает список существующих сессий, ищет в списке пользователей тех, у кого нет nx сессии, но процессы тем не менее запущены. Можно переделать скрипт и отстреливать процессы автоматом. Также в скрипте есть пример извлечения текста из определенной колонки с пропуском строк по шаблону.

#!/bin/bash

nxusers=(user1 user2 user3 user4 user5)

nxusers_active=(`nxserver --list | awk '!/NXSERVER|Sessions|Username|---|Bye|^$/{print $3}' | sort | uniq`)

echo -e "NXUSERS ALL: ${nxusers[*]}"
echo -e "NXUSERS ACTIVE: ${nxusers_active[*]}"

for i in ${nxusers[*]}; do
  active=0
  for j in ${nxusers_active[*]}; do
    if [ "$i" == "$j" ]; then
      active=1
      break
    fi
  done
  if [ "$active" == "0" ]; then
    echo -e "\nINACTIVE $i"
    ps -u $i
  fi
done


Пример:

Комментарии (0)

RSS свернуть / развернуть

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.