Как запустить программу и узнать ее PID в Linux?
Если у меня есть несколько работающих друг за другом оболочек, будут ли у них все отдельные PID?
Вики Грега на помощь:
$!
kill -0 $PID
$PID
wait
Фактически, просто прочитайте ссылку - это все там (и даже больше).
$$ - это PID текущей оболочки .
$$
И да, каждая оболочка будет иметьсвой собственный PID (если это не какая-то самодельная оболочка, которая не fork не создает "новую" оболочку).
fork
1) Для этого есть переменная, часто $$:
edd@max:~$ echo $$ # shell itself 20559 edd@max:~$ bash -c 'echo $$' # new shell with different PID 19284 edd@max:~$ bash -c 'echo $$' # dito 19382 edd@max:~$
2) Да, да, ОС / ядро сделает это за вас.
команда top в linux (Ubuntu) показывает использование памяти всеми запущенными программами в linux с их pid.Kill pid может убить процесс.