Bagaimana cara mendapatkan orang tua pid dari pid anak yang diberikan?
Saya tahu saya dapat memeriksa secara manual di bawah / proc, saya bertanya-tanya apakah ada cara pintar / lebih baik untuk mencapai ini di Ubuntu. Perhatikan bahwa orang tua mungkin atau mungkin tidak terbunuh.
Terima kasih
command-line
bash
process
cache
sumber
sumber
ps -o args ...
hasilnya, tetapi itu sedikit berbau.ppid=
tetapi sebelum pid tampaknya perlu. Saya mendapat hasil yang berbeda jika dihilangkan.Hanya menggunakan variabel shell untuk mendapatkan PID induk:
jika Anda memerlukan perintah dari pid orangtua ini:
jika Anda memerlukan baris perintah lengkap (dengan semua opsi):
Penjelasan
$PPID
didefinisikan oleh shell, itu adalah PID dari proses induk/proc/
, Anda memiliki beberapa dir dengan PID dari setiap proses. Kemudian, jika Andacat /proc/$PPID/comm
, Anda mengulangi nama perintah PIDPeriksa man proc
sumber
PPID
didefinisikan sebagai bagian dari standar POSIX sehingga setiap shell yang mematuhi POSIX harus mengatur ini dengan tepat. Lihat pubs.opengroup.org/onlinepubs/9699919799/utilities/…Menggunakan
pstree
dengan nama perintahMenggunakan
pstree
Anda dapat mencari berdasarkan nama proses anak dan mendapatkan ID Proses (PID) bersama dengan orang tua, kakek-nenek dan anak-anak dari proses anak:Dalam hal ini
sleep
adalah perintah child dan itu PID8414
. ID induknya adalah 841 dan dipanggildisplay-auto-brightness
. Kakek adalah shell (sh
) dengan ID proses839
. Kakek buyutnyacron
memiliki ID proses795
. Kakek buyut jugacron
dengan ID proses763
.Jika Anda ingin mencari berdasarkan ID Proses
sleep
alih-alih nama, Anda dapat menggunakan:Perhatikan
sleep
ID proses diubah menjadi14653
. Induk (PID 841) tidur selama 1 menit, bangun untuk sepersekian detik dan kemudian memulaisleep
perintah baru yang mendapat ID proses baru. Ini adalah alasan lain mengapa pencariansleep
lebih mudah daripada mencari dengan ID proses.Kode ini diambil dari: Secara otomatis menyesuaikan kecerahan tampilan berdasarkan matahari terbit dan terbenam dan disesuaikan dengan pertanyaan ini.
Untuk melihat rantai bersarang sepanjang jalan kembali ke proses boot menggunakan PID alih-alih nama:
Catatan: Satu menit lagi telah berlalu dan perintah sleep mendapat PID baru (8541).
sumber
807
ataucron
dan jalur yang sama akan diperbaiki kembali serta lebih banyak anak jika melahirkan. Tetapi pertanyaannya adalah tentang menemukan orang tua, tidak semua anak.1
. Saya tidak berpikir Anda dapat membunuh PID 1.ps -efj
bisa juga digunakan untuk hal yang sama.Sebagai contoh,
sumber