LinuxForum.Fans
Тема

Скрипт + Cron = сброс NX сессии

Автор: stormf1 5 сообщений 2167 просмотров
#107350

вопрос следующего плана:
есть команда:
ps ax | grep "/usr/bin/nxagent -persistent -D -name NX - user@server"
которая выдает:
29607 ? S 0:05 /usr/bin/nxagent -persistent -D -name NX - user@server:2048 -option /home/user/.nx/C-ts-2048-4C4BA65F1C2953FB44D97636F420D26A/options -nolisten tcp -dpi 96 :2048
выполняем команду kill 29607 - сбрасываем пользователя.

через некоторое время пользователь опять подключается и айдишник процесса уже другой.
мне надо каждый час сбрасывать сессию определенного пользователя, для этого надо через кронтаб запускать скрипт который будет это делать
ps ax | grep "/usr/bin/nxagent -persistent -D -name NX - user@server"
ему будет выдаваться:
xxxxx ? S 0:05 /usr/bin/nxagent -persistent -D -name NX - user@server:2048 -option /home/user/.nx/C-ts-2048-4C4BA65F9C2952FB44D97636F420D26A/options -nolisten tcp -dpi 96 :2048
после чего ему надо будет сделать kill xxxxx
можно ли написать умный скрипт который делал бы kill xxxxx в зависимости айдишника назначенному процессу?

#107361

вообще-то man pgrep

но можно и так:
[console]kill `ps ax | sed -rn 's~^\s*([0-9]+)\s+.*/usr/bin/nxagent\s+-persistent\s+-D\s+-name\s+NX\s+-\s+user@server:2048.*~\1~p'`[/console]

#107366
drBatty написал:
вообще-то man pgrep

«Косметическая» поправка: использовать в данном случае проще pkill.

#107394

Lupo Alberto, это написано в самом начале man pgrep. К тому-же, как я понял, pkill умеет только по определённому юзеру. А тут условие жёстче - ещё и командная строка... Или это и pkill умеет?

#107409
drBatty написал:
А тут условие жёстче - ещё и командная строка...

Что-то я это несколько запутался, где именно это условие?
drBatty,

Lupo Alberto написал:
«Косметическая» поправка
Войдите или зарегистрируйтесь, чтобы ответить.