Emacs shell命令在崩溃时重新启动
是否可以检测由shell命令启动的长时间运行的进程何时崩溃,以便自动重新启动?如果不手动检查其缓冲区并手动重新启动。我根本不会从Emacs处理这个问题。相反,我会围绕我原来的长时间运行的进程编写一个包装器脚本,如果进程以部分方式死掉,它会重新启动进程。例如,如果您的程序因获得SIGABRT信号而死亡,则包装器脚本可能如下所示:Emacs shell命令在崩溃时重新启动,emacs,elisp,Emacs,Elisp,是否可以检测由shell命令启动的长时间运行的进程何时崩溃,以便自动重新启动?如果不手动检查其缓冲区并手动重新启动。我根本不会从Emacs处理这个问题。相反,我会围绕我原来的长时间运行的进程编写一个包装器脚本,如果进程以部分方式死掉,它会重新启动进程。例如,如果您的程序因获得SIGABRT信号而死亡,则包装器脚本可能如下所示: #!/bin/bash while true do your-original-command --switch some args if [ $? -
#!/bin/bash
while true
do
your-original-command --switch some args
if [ $? -ne 134 ]; then break; fi
echo "Program crashed; restarting"
done
通过这样做,我得到了SIGABRT信号的值134:
perl -e 'kill ABRT => $$'; echo $?
这都是假设某种Unix-y系统