如何看待Linux命令发送终止信号到进程/PID,如果它不能在10秒后优雅地退出杀死它?
我的尝试是:“sudo timeout-vk 5 10 kill PIDhere”(-v verbose,-k X秒后kill),但我不确定它是否好,或者如何调整值,或者是否有更好的命令,甚至可以处理流程命令行中显示的部分名称。(“ps辅助”输出)
sudo timeout -vk 5 10 kill PIDhere
将执行< code>kill,如果花费时间太长,将尝试终止该进程。这是不应该发生的,也可能不是您想要的(如果< code>kill实际上是挂起的,杀死它不会影响您的实际进程)。< code>timeout用于限制进程运行的时间,而不是在收到信号后终止的时间。
相反,我建议异步启动该过程(例如,使用
$ some_process &
# time passes, eventually we decide to terminate the process
$ kill %1
$ sleep 5s
$ kill -s SIGKILL %1 # will fail and do nothing if %1 has already finished
或者,您可以依赖
等待
,如果作业在睡眠
完成之前终止,它将提前返回:
$ some_process &
# time passes
$ kill %1
$ sleep 5s &
$ wait -n %1 %2 # returns once %1 or %2 (sleep) complete
$ kill -s SIGKILL %1 # if %2 completes first %1 is still running and will be killed
您可以使用PID而不是作业ID来执行上述操作,因为您需要担心PID的重用,所以操作起来有点繁琐。
如果有更好的命令,甚至可以使用名称的一部分
pkill
做了你想做的事吗?
问题内容: 我在Windows XP上使用Java,并且希望能够将命令发送到另一个程序,例如telnet。我不想简单地执行另一个程序。我要执行它,然后在它运行后向它发送一系列命令。这是我要执行的操作的代码,但是无效:(如果取消注释,并将命令更改为“ cmd”,它将按预期工作。请帮助。)这是一个简化的示例。在生产中,将发送更多命令,因此 请不要建议调用“ telnet localhost”。 问题答
本文向大家介绍一个简单的linux命令 mv,包括了一个简单的linux命令 mv的使用技巧和注意事项,需要的朋友参考一下 mv命令是用于移动文件或者将文件改名 一.命令格式: mv [选项] 源文件或目录 目标文件或目录 二.命令参数: -b :若需覆盖文件,则覆盖前先行备份。 -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖; -i :若目标文件 (destinatio
本文向大家介绍一个简单的linux命令 cp,包括了一个简单的linux命令 cp的使用技巧和注意事项,需要的朋友参考一下 cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一。一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数。但是如果是在shell脚本中执行cp时,没有-i参数时不会询问是否覆盖。这说明命令行和
本文向大家介绍一个简单的linux命令 touch,包括了一个简单的linux命令 touch的使用技巧和注意事项,需要的朋友参考一下 linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件。 命令格式 touch [选项]… 文件… 命令参数 -a 或–time=atime或–time=access或–time=use 只更改存取时间
本文向大家介绍一个简单的linux命令 tail,包括了一个简单的linux命令 tail的使用技巧和注意事项,需要的朋友参考一下 tail命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 命令格式 tail[必要参数][选择参数][
问题内容: 我在页面上有几个AJAX呼叫。有些会立即完成,有些会花费一些时间-所有都取决于单击的内容。 我想添加一个“加载程序”,该加载程序将在AJAX处理结果时X秒钟后显示。 我有一个装载机正在工作: 此功能。 但是, 当AJAX请求很快时,它 会 在屏幕上 闪烁 ……就像眨眼一样。 除了发生“闪烁”以外,它的效果还不错。因此,我试图将加载器的CSS更改延迟几秒钟,以使快速结果不会导致“闪烁”。