Bu sayfa tarafından önerilen ikinci yöntemde , bash komutunun çalıştırıldığı tty'yi alır:
ps ax | grep $$ | awk '{ print $2 }'
Bence bu kesinlikle biraz tembel, ancak bunlardan sadece birini çıkarmak için çalışan tüm süreçleri listeliyordum. Daha verimli olmaz mıydı (Ayrıca istenmeyen etkiler doğuracak mı diye soruyorum):
ps -p $$ | tail -n 1 | awk '{ print $2 }'
Bilginize, bu sorunla karşılaştım çünkü bazen ilk komut aslında iki (veya daha fazla) satır verecekti. Bu, $$
alt dize olarak içeren bir PID ile çalışan başka bir işlem olduğunda rastgele olur . İkinci yaklaşımda, istediğim PID'yi isteyerek bu tür durumlardan kaçınıyorum.
tty
bash oturumunuzdaki komutu çalıştırmak olacaktır . Eğer kullanmakta ısrar edersenizps
-ps -p $$ -o tty=