打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何獲取一條命令執行中的PID值?
userphoto

2012.03.13

关注
例如
ps -C NeMaC -f
可以列出所有以NeMaC為conmand的信息,但是
如果我給NeMaC的參數不同,用上述指令會列出所有NeMaC命令執行的信息
但是我只想獲取其中ture command為
NeMaC -c 30 -m 25000 -r rules.sample 202.101.0.1 private執行後的PID值,我該如何?

我用的是redhat fc3。謝謝

如何獲取一條命令執行中的PID值?

:?:

如何獲取一條命令執行中的PID值?

pidof your_script_path/script_name

如何獲取一條命令執行中的PID值?

pidof NeMaC
還是得到了兩個PID值,因為我同時使用了兩個NeMaC命令(在不同命令窗口輸入)
一條是NeMaC -c 30 -m 25000 -r rules.sample 202.101.0.1 private rule1
一條是NeMaC -c 120 -m 25000 -r cs2.rules 202.101.0.1 private rule2
但是我只想用命令的方式得到第二條命令執行後的pid值,怎麼辦???
謝謝,另外,NeMaC是NeTraMet這個分析流的工具的一個組件。

如何獲取一條命令執行中的PID值?

學習中

如何獲取一條命令執行中的PID值?

分成兩個腳本執行.

如何獲取一條命令執行中的PID值?

請教中,如何用兩腳本,要是對應NeMaC有N個進程呢?那又該如何是好

如何獲取一條命令執行中的PID值?

換一個思路吧,我如何能得到一個進程的唯一子進程的pid?

如何獲取一條命令執行中的PID值?

:?

如何獲取一條命令執行中的PID值?


ps -C NeMaC -f | grep rule1 | awk '{print $2}'
我已經能拿到想要kill的進程的pid了,其值例如為:12815
但是當我執行如下shell文件時確出錯了
#!/bin/bash
#
PATH="$PATH":/home/gwei/myCode
#
myNeMaC=`ps -C NeMaC -f | grep myNeMaC1 | awk '{print $2}'`
kill -9 $myNeMaC

顯示出來的錯誤信息是
: arguments must be process or job IDskill: 12815
它明明知道我要kill 12815,確不讓我kill,氣死我了。如何是好呢???

如何獲取一條命令執行中的PID值?

myNeMaC=`ps -C NeMaC -f | awk '/myNeMaC1/{print $2}'`

如何獲取一條命令執行中的PID值?

是可以得到PID值了,再用
kill -9 $myNeMaC
也可以殺掉進程,但是把上面這些寫入一個.sh文件再執行就出錯了
怎麼辦呢?
移植到RH9後提示的錯誤信息是:
[root@gxnunc0504 myCode]# /bin/bash ./killNeMaC1.sh
: no such pidsh: line 6: kill: 21820
和先前FC3的類似,其實它不是已經知道我要kill的是PID值為21820的進程了嗎?幹嗎阻止我殺它?

如何獲取一條命令執行中的PID值?

echo ${myNeMac}看看你拿到多少個pid?
通常都是>=2個 :mrgreen:

如何獲取一條命令執行中的PID值?

#!/bin/bash
#
myNeMaC=`ps -C NeMaC -f | grep myNeMaC1 | awk '{print int($2)}'`
#
echo $myNeMaC
kill -9 $myNeMaC


上面就是我殺掉進程的教本killNeMaC1,其中echo $myNeMaC確認只剩下一個PID了,可是為什麼到了kill -9 $myNeMaC就運行不下去了呢。
相關操作和結果如下:
[root@ipilot251 myCode]# /bin/bash ./killNeMaC1
: arguments must be process or job IDs

如何獲取一條命令執行中的PID值?

問題解決,要使用chmod 755 filename
並且我是用webmin管理得,再編輯文件時記住一定要把那個DOS××前面得勾給點掉。這樣就沒事了。謝謝各位了:)

如何獲取一條命令執行中的PID值?

pgrep <init_name>
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Linux中Kill进程的N种方法
k8s重新初始化master节点(初始化master节点报错:Port 6443 is in use)
用netstat命令输出端口和对应的pid
高级Java程序员应该了解的Linux知识
Linux kill, killall, kill
系统管理员工具包: 进程管理技巧
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服