Yanıtlar:
Komut satırı:
ps -o ppid= -p 1111
İşlev:
ppid () { ps -p ${1:-$$} -o ppid=; }
Diğer ad (bir işlev tercih edilir ):
alias ppid='ps -o ppid= -p'
Senaryo:
#!/bin/sh
pid=$1
if [ -z $pid ]
then
read -p "PID: " pid
fi
ps -p ${pid:-$$} -o ppid=
İşlev veya komut dosyasına PID sağlanmazsa, geçerli işlemin PPID'sini göstermek için varsayılan olarak kullanılırlar.
Takma adı kullanmak için bir PID sağlanmalıdır.
=
İşareti, en azından OS X 10.8.2 üzerinde, gerekli değildir.
Bu öğrendiğim, unuttum, tekrar öğrendiğim, tekrarladığım şeylerden biri. Ama bu kullanışlı. Pstree komutunun 'bayrağı' N'de yapraklı bir ağaç gösterir:
pstree -sA $(pgrep badblocks)
systemd---sudo---mkfs.ext4---badblocks
Ana pid, PPID kabuk değişkeninde
echo $PPID
$PPID
Google’ın bu sayfayı yanıt olarak önerdiği sorunu çözdü.
PPID
Tüm işlemlerin üst kimliklerini ( ) yazdırmak için bu komutu kullanın:
ps j
Tek bir işlem için, tıpkı, PID geçirmek: ps j 1234
.
Yalnızca değeri çıkartmak için, çıktısını awk
şunun gibi süzün :
ps j | awk 'NR>1 {print $3}' # BSD ps
ps j | awk 'NR>1 {print $1}' # GNU ps
Tüm ebeveynlerin PID'lerini listelemek için kullanın pstree
(sizde yoksa yükleyin):
$ pstree -sg 1234
systemd(1)───sshd(1036)───bash(2383)───pstree(3007)
Geçerli işlemin üst PID değerini almak için kullanın echo $$
.
pstree
burada gördüğüm en güzel olanı.
ps j
harika çünkü birçok dağıtımda mevcut ve kolayca beste edilebilir
/ Proc / $ PID / durumunu okuyun. Kolayca kodlanabilir:
#! / Bin / sh P = $ 1 eğer [-z "$ P"]; sonra P oku fi cat / proc / "$ P" / durum | grep PPid: | grep -o "[0-9] *"
grep '^PPid:' /proc/$1/status | grep -o '[0-9]*'
tüm ihtiyacın olan. ( Unix araçlarının bu şeyi yapması çok nadirdirif [ -z ]; then read
.)
echo $$ | ppid | ppid | ppid
< /some/file grep | grep | ...
.
grep /some/file
$ ps -p $(ps -p $(echo $$) -o ppid=) -o comm=
tmux
Geçerli işlemi başlatan bir ebeveynin komutunu kontrol eden, biraz daha karmaşık bir örnek
İşte çalışması gereken hızlı bir çözüm:
ps $$
top
İstediğin seçenekle istediğin gibi koş -u username and -p PID
.
Ayrıca top
, çalışma sırasında , çıktıda fgörüntülemek istediğiniz seçeneklerin bir listesini gösterir top
ve görüntülenen parametreler BÜYÜK harflerle ve gösterilecek olan parametreler küçük harflerle gösterilecektir.
Böylece, parametreden önce harfi girerek, onu etkinleştirebilir veya devre dışı bırakabilirsiniz. Üst işlem kimliği için girmeniz bve ardından düğmesine basmanız gerekir Enter, üst çıktısında PPID görüntülenir.
htop
yapılandırabileceğini biliyorum PPID
.
grep PPid status |cut -f2
gibitime(for((i=0;i<1000;i++));do grep PPid status |cut -f2 >/dev/null;done)
; daha hızlı bir şey olup olmadığını merak ediyorum?