решено перед вопросом:cat /proc/1111/status | grep PPid
Как получить Родительский PID данного процесса в GNU / Linux из командной строки?
9 ответов
Командная строка:
ps -o ppid= -p 1111
функция:
ppid () { ps -p ${1:-$$} -o ppid=; }
Alias (функция желательно):
alias ppid='ps -o ppid= -p'
сценарий:
#!/bin/sh
pid=
if [ -z $pid ]
then
read -p "PID: " pid
fi
ps -p ${pid:-$$} -o ppid=
если для функции или скрипта не указан PID, по умолчанию они показывают PPID текущего процесса.
для использования псевдонима необходимо указать PID.
Это одна из тех вещей, которые я узнал, забыть, вспомнить, повторить. Но это действительно полезно. Флаг ‘s ' команды pstree показывает дерево с листом в N:
pstree -sA $(pgrep badblocks)
systemd---sudo---mkfs.ext4---badblocks
Родительский pid находится в переменной оболочки PPID, поэтому
echo $PPID
этого команды:
ps j
напечатает ID родителей (PPID
) всех процессов.
для одиночного процесса, как раз пройдите PID, как: ps j 1234
.
извлечь только значение, выходной фильтр awk
, например:
ps j 1234 | awk 'NR>1 {print }' # BSD ps
ps j 1234 | awk 'NR>1 {print }' # GNU ps
перечислить PIDs всех родителей, а затем использовать pstree
, например:
$ pstree -sg 1234
systemd(1)───sshd(1036)───bash(2383)───pstree(3007)
чтобы получить Родительский PID текущего процесса, используйте echo $$
.
Read/proc/$PID / status. Можно легко написать сценарий:
#!/bin/sh P= if [ -z "$P" ]; then read P fi cat /proc/"$P"/status | grep PPid: | grep -o "[0-9]*"
В Linux:
ps hoppid $thatprocess
$ ps -p $(ps -p $(echo $$) -o ppid=) -o comm=
tmux
немного более сложный пример, проверяющий команду родителя, запустившего текущий процесс Измените comm= на cmd=, чтобы увидеть full command
вот быстрое решение, которое также должно работать:
ps $$
Run top
с любыми вариантами вы хотите, как -u username and -p PID
.
и А top
работает клавишу f, оно показывает список опций, которые вы хотите отобразить в top
выход, и показанные параметры будут показаны в прописных буквах и параметрах которые или не показ будет показан в маленьких буквах.
таким образом, введя букву перед параметром вы можете включить или отключить его. Для ID родительского процесса необходимо ввести b а затем нажмите Enter, оно покажет PPID в верхнем выходе.
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]