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
$PPIDGoogle’ın bu sayfayı yanıt olarak önerdiği sorunu çözdü.
PPIDTü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 $$.
pstreeburada gördüğüm en güzel olanı.
ps jharika çü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 topve 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.
htopyapılandırabileceğini biliyorum PPID.
grep PPid status |cut -f2gibitime(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?