Мне нужно создать скрипт, который сравнивает PID и PPID, чтобы понять, кто кого генерирует, и сделать журнал вывода вроде
"процесс ... генерирует процесс ..."
это почти сделано, но
Я не могу получить только значение PID, чтобы сохранить его в массиве и сделать сравнение, потому что я использую подстановку команд неправильно
Спасибо всем, помогите мне и извините за текст, я начинающий Баш и этого места
мой код:
#!/bin/bash
IFS=$'\r\n'
GLOBIGNORE='*'
thispid=$$
ps -opid= -oppid= -ocommand= -c > processi.txt
eval 'array=($(<processi.txt))'
for i in "${array[@]}"
do
pid=$( echo "$i" | cut -d" " -f1 )
echo $pid
done
Имея только команду ps, я получаю следующий вывод:
618 616 -bash
2668 618 bash
629 628 -bash
1185 629 man
1186 1185 sh
1187 1186 sh
1190 1187 sh
1191 1190 less
Моя проблема с этой частью команды cut, потому что она не работает:
pid=$( echo "$i" | cut '-d" "' '-f1' )