如何检查Linux进程以确定其何时/如何终止?
我有一个Python的IRC机器人,我通过运行/etc/init.d/phenny start
来以管理员身份启动它。不过,有时候它会崩溃,似乎这种情况经常发生在晚上。
我该怎么做才能检查它的状态,并把相关信息记录到一个文本文件里呢?
5 个回答
0
你可以试试Python的psutil库,我用过这个,它很好用。
1
如果你知道程序还在运行,可以用 pstack 命令查看它的回溯信息。不过我不太确定这有多大用,因为你看到的只是解释器的调用栈。你也可以试试 strace 或 ltrace,就像其他人提到的那样。
我还建议你确保在脚本运行的环境中,设置 ulimit -c unlimited,这样如果 Python 程序崩溃了,就会生成一个核心转储文件。
另外,我可能会尝试让这个任务由一个不等待子进程的父进程来执行。这样即使底下的任务已经结束,进程表中的条目也会保持为僵尸状态。