Я хочу записать сценарий который, позвольте нам меня, уничтожают процесс путем питания команды к сценарию.
У меня есть большая часть из него работа, но моя проблема в настоящее время, я должен к ssh в дважды уничтожить его 1) Для получения идентификатора 2 процесса) уничтожить процесс - я предпочел бы, делают это сразу, и я попытался передать по каналу, но я, может казаться, не заставляю это работать.
Вот моя текущая рабочая версия:
ProcessNumber=`ssh user1@server1 -p22222 ps -ef | awk '/[s]sh -f -N -T -R32400:localhost:32400 remote@remote/{print $2}'`
ssh user1@server1 -p22222 "kill $ProcessNumber"
И вот часть сценария, я не могу получить работу.
ssh user1@server1 -p22222 kill `ps -ef | awk "/[s]sh -f -N -T -R32400:localhost:32400 remote@remote/{print $2}"`
Какие-либо предложения для получения второго, работающего сразу?
Парсинг вывода ps -ef
немного хитер. Я рекомендовал бы, чтобы Вы использовали pgrep
в качестве
pgrep -f `ssh -f -N -T -R32400:localhost:32400 remote@remote`
Или просто уменьшили все с pkill
:
ssh user1@server1 -p22222 "pkill -f 'ssh -f -N -T -R32400:localhost:32400 remote@remote'"
Что-то вроде этого ужасная острота может сделать это:
ssh user1@server1 -p22222 "kill \$(ps -ef | awk '/[s]sh -f -N -T -R32400:localhost:32400 remote@remote/{print \$2}')"
выход, возможно, все еще нуждался бы в некоторых корректировках (не протестировал его).