Baris perintah:
ps -o ppid= -p 1111
Fungsi:
ppid () { ps -p ${1:-$$} -o ppid=; }
Alias (lebih disukai fungsi):
alias ppid='ps -o ppid= -p'
Skrip:
#!/bin/sh
pid=$1
if [ -z $pid ]
then
read -p "PID: " pid
fi
ps -p ${pid:-$$} -o ppid=
Jika tidak ada PID yang diberikan ke fungsi atau skrip, mereka secara default menampilkan PPID dari proses saat ini.
Untuk menggunakan alias, PID harus disediakan.
Untuk mencetak id induk (PPID
) dari semua proses, gunakan perintah ini:
ps j
Untuk proses tunggal, cukup lewati PID, seperti:ps j 1234
.
Untuk mengekstrak nilai saja, filter keluaran dengan awk
, seperti:
ps j | awk 'NR>1 {print $3}' # BSD ps
ps j | awk 'NR>1 {print $1}' # GNU ps
Untuk mencantumkan PID semua orang tua, gunakan pstree
(pasang jika Anda tidak memilikinya):
$ pstree -sg 1234
systemd(1)───sshd(1036)───bash(2383)───pstree(3007)
Untuk mendapatkan PID induk dari proses saat ini, gunakan echo $$
.
Ini adalah salah satu hal yang saya pelajari, lupakan, pelajari kembali, ulangi. Tapi itu berguna. Bendera 's' perintah pstree menunjukkan pohon dengan daun di N:
pstree -sA $(pgrep badblocks)
systemd---sudo---mkfs.ext4---badblocks