我有一个程序必须永远工作直到杀死-HUP命令。但是有时这个程序可以用错误代码退出,也可以被操作系统杀死,因为它过度使用内存。
是否有任何标准的linux命令可以监视任何命令并在退出时重新启动它们?
就像这样:forever my-command -with some parameters
它可以通过bash脚本完成:
#!/bin/bash
while true
do
my-command -with some parameters
done
,但我最好使用一些标准的东西,而不是写我自己的脚本。
如果之前有人问过这个问题,我很抱歉--我只是不知道如何找到正确的答案,我会非常感谢有一个指针。
我试图在Python (Linux上)中执行以下操作:
import psutil
from time import sleep
from subprocess import run
from shlex import split
psutil.Process().parent().kill()
sleep(3)
run(split('touch /home/tobias/foo'))
换句话说,尝试杀死父进程,但是恢复子进程,并在父进程被杀死后执行一些逻辑。
但就目前情况而言,文
以这个简单的例子为例:
public class Main
{
public static void main(String[] args) throws Exception
{
Runtime.getRuntime().exec("sleep 1000");
// This is just so that the JVM does not exit
Thread.sleep(1000 * 1000);
}
}
我正在使用openjdk6在Linux上运行这个程序。如果我试图向“睡眠”进程发送一个SIGQ
C02TPARXG8WN:fal$ python
Python 3.6.9 (default, Nov 10 2019, 01:00:31)
[GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.10.44.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import signal
>>> signal.SIGHUP