shell獲取進程ID的方法
shell獲取進程ID的方法:
ps -A |grep "cmdname"| awk '{print $1}'
pidof "cmdname"
pgrep "cmdname"
這三種在bash和busybox ash裡面的運行結果稍有不同,
第一種完全相同,但是因為調用命令次數較多,性能上是不行的。
第二種: pidof 只能獲取程序的文件名匹配到的進程號,在ash中 比如 pidof "usr/bin/telnetd" 和 pidof "telnetd"中結果不一樣, 前一種結果為空,但是在bash中執行兩者一樣。
第三種: pgrep跟1的效果相同,因為是單一命令,比第一種性能要好得多。
所以nanoRC就改進為pgrep。