当前位置: 技术问答>linux和unix
请教关于pid的问题,用两种方法得到pid却不一样?谢谢
来源: 互联网 发布时间:2015-09-03
本文导语: 我在cap.sh调用了几个应用程序,顺序分别如下:tcpdump,psml,postmaster这三个应用程序(顺序依次执行的)。 现在我问题是我想用shell程序实时的查询cap.sh进程是否已经执行完毕或者是否正在执行中。如果正在执行中,...
我在cap.sh调用了几个应用程序,顺序分别如下:tcpdump,psml,postmaster这三个应用程序(顺序依次执行的)。
现在我问题是我想用shell程序实时的查询cap.sh进程是否已经执行完毕或者是否正在执行中。如果正在执行中,那么想得到他的pid的号,以便我在前台进行kill掉。请教这个shell怎么写?有我发现我在cap.sh中用$$得到pid,与ps -ef|awk '/cap.sh/{print $2}'得到怎么会不一样啊?
现在我问题是我想用shell程序实时的查询cap.sh进程是否已经执行完毕或者是否正在执行中。如果正在执行中,那么想得到他的pid的号,以便我在前台进行kill掉。请教这个shell怎么写?有我发现我在cap.sh中用$$得到pid,与ps -ef|awk '/cap.sh/{print $2}'得到怎么会不一样啊?
|
你是想得到cap.sh这个的进程号,还是想得到cap.sh中tcpdump等程序的进程号?
|
在sh里用ps、grep、awk一类的命令去查找不就行咯
|
killall就可以了,不用查询进程号吧
|
一个程序在每次运行,都可能用的不一样的pid。
pid只是标识的是本次程序的运行标识,但是,它是现存的唯一标识。
pid只是标识的是本次程序的运行标识,但是,它是现存的唯一标识。