因此,可以使用timeout来设置进程/命令的最终时限,就像提到的和一样。例如,timeout 300 sleep 1000将在300秒后返回提示,而不是1000秒。
但是,在进程仍在运行时,是否有任何方法可以动态地修改此限制?所以这就是我要找的。
at time 0 : timeout 300 python long_run.py
at time 250 : <some way to extend the timeout limit by another 300 minutes or so>
我试过两种方法,但没能成功。
通过GDB
我试图使用gdb附加到timeout进程。它
我在一台Linux主机上运行一个perl脚本。我正在尝试编写一个fork脚本,其中子进程启动一个程序,而父进程在5秒后超时,从而杀死子进程。这就是我所拥有的:
my $start = time();
my $timeOut = 5;
my $childPid = fork();
if ($childPid) {
# I am the parent, and $childPid is my child
while (kill(0, $childPid)) {
if (time() > $start + $timeOut) {
$nu
我有一个shell脚本,它在opensuse linux下运行,它启动一个java应用程序(在jar下),该脚本是:
#!/bin/sh
#export JAVA_HOME=/usr/local/java
#PATH=/usr/local/java/bin:${PATH}
#---------------------------------#
# dynamically build the classpath #
#---------------------------------#
THE_CLASSPATH=
for i in `ls ./lib/*.jar`
do
THE_CLA
我在Linux上工作,我在Linux终端上执行了for循环,如下所示:
for i in `cat fileName.txt`
do
echo $i
vim $i
done
fileName.txt是一个包含我在vim编辑器中一个接一个打开的大量文件条目的文件。现在,我必须跳过打开中间的其他文件。(即,我必须中断for循环)。有什么建议如何获得运行for循环的PID吗?然后杀掉同样的人。提前谢谢。
我的计算机最近内存不足(在处理大型GIS数据集时编译软件的结果并不出人意料)。在详细说明它如何处理OOM条件的系统日志中,有以下一行:
Out of memory: Kill process 7429 (java) score 259 or sacrifice child
那or sacrifice child是怎么回事?当然,这不是在思考什么黑暗的仪式来维持一切?