Linux 以它的名字杀死它
我有一个与这个问题很相关的问题。 这是我的密码:Linux 以它的名字杀死它,linux,bash,shell,Linux,Bash,Shell,我有一个与这个问题很相关的问题。 这是我的密码: ps -eo pid,etime,cmd|grep ${1}|grep -v grep|awk '{if ($2>="23:59:59") print $1}'|xargs kill -9 我正试图杀死所有具有特定名称的进程,该名称的时间超过一天。这种方式工作得很好,直到有人告诉我脚本不能终止以如下格式表示日期的进程:1-23:00:00 将awk过程中的变量$2更改为1-00:00:00将终止具有给定名称的所有进程。您能给我一个如何正确
ps -eo pid,etime,cmd|grep ${1}|grep -v grep|awk '{if ($2>="23:59:59") print $1}'|xargs kill -9
我正试图杀死所有具有特定名称的进程,该名称的时间超过一天。这种方式工作得很好,直到有人告诉我脚本不能终止以如下格式表示日期的进程:1-23:00:00
将awk过程中的变量$2更改为1-00:00:00将终止具有给定名称的所有进程。您能给我一个如何正确设置时间格式的提示吗?我建议将
ps
optionetime
更改为etimes
,而不是更改awk脚本
使用
etimes
可以在几秒钟内获得生存期。如果值>或
=somevalue1&$2我建议将选项ps
更改为etime
,而不是更改awk脚本etimes
使用可以在几秒钟内获得生存期。如果值etimes
>或
=somevalue1&&$2好吧,我的Ubuntu框说它对etime一无所知:错误:未知的用户定义格式说明符“etimes”表明它是在2011年通过实现的(有点“最近”)。@alexeygaidamaka在这种情况下,你可以接受procps-3.2.9
,在你的awk中,检查etime
中是否有$2
(-
)。如果匹配,则表示$2~/-/
格式。你可以杀也可以不杀。@Adrian Frühwirth。就我所见,ubuntu 12.04依赖于procps_3.2.8-11ubuntu6。它是从Debian repo构建的。所以,不是最近的事。@alexeygaidamaka我的意思是,添加的内容可能太晚了,以致于影响了Debian,这可以解释为什么你没有它。好吧,我的Ubuntu框说它对etimes一无所知:错误:未知的用户定义格式说明符“etimes”这表明它是在2011年通过x-xx:xx:xx
实现的(有点“最近”)。@alexeygaidamaka在这种情况下,你可以接受procps-3.2.9
,在你的awk中,检查etime
中是否有$2
(-
)。如果匹配,则表示$2~/-/
格式。你可以杀也可以不杀。@Adrian Frühwirth。就我所见,ubuntu 12.04依赖于procps_3.2.8-11ubuntu6。它是从Debian repo构建的。所以,不是最近才加的。@alexeygaidamaka我的意思是,这个加法可能太晚了,不足以击中Debian,这可以解释为什么你没有它。x-xx:xx:xx