Как получить pid процесса, запущенного через ssh

Чтобы применить что-то к специальным строкам в sed, вы адресуете их, например /pattern/commandприменяет commandк строкам, включая pattern.

Если вы хотите применить команду к следующим строкам после строки шаблона, сначала переместите строку с помощью команды n.

Затем, чтобы добавить в конец строки, используйтеs/$/whatever you want to append/($означает окончание строки ).

Теперь вам нужно объединить эти команды с {}, чтобы адресация была действительна для них обоих, и для вас и выше с

sed '/General Thunderstorm Risk/{n;s/$/, 42/;}' yourfile.txt > out.txt

, чтобы добавить , 42к строке после совпадения. Если это не то, что вы ищете, отредактируйте свой вопрос.

0
13.04.2021, 01:01
3 ответа

Вы можете найти pid вашей команды с server1, используя приведенную ниже команду:

ssh root@server2 "some_command && ps -ef|grep some_command"
1
28.04.2021, 22:53

Другой вариант:

ssh user@server2 'pidof some_command'

Поскольку вы не упомянули, на каком *nix вы работаете, я не знаю, есть ли у вас доступ к этой команде. Я знаю, что он меньше всего доступен в Debian и производных, RedHat и производных...

0
28.04.2021, 22:53

Вы также можете:

ssh user@server2 'some_command ; echo "$!" '
0
28.04.2021, 22:53

Теги

Похожие вопросы