nohup
命令用于在后台运行程序,使其不受挂起(SIGHUP)信号的影响。退出状态码(Exit Status Code)是一个整数,用于表示命令执行的结果。在 Unix 和 Linux 系统中,退出状态码通常范围为 0 到 255,其中 0 表示成功,非零值表示错误。
nohup
命令本身的退出状态码有以下含义:
- 0:表示
nohup
命令成功执行,后台程序正常运行。 - 126:表示无法执行后台程序,可能是由于权限问题或其他原因导致的。
- 127:表示找不到指定的后台程序,可能是由于命令不存在或路径错误导致的。
- 128:表示无效的参数或语法错误。
- 128 + n:表示后台程序以信号 n 结束。例如,如果后台程序因接收到信号 9(SIGKILL)而终止,
nohup
的退出状态码将为 137(128 + 9)。
需要注意的是,nohup
命令的退出状态码仅表示 nohup
命令本身的执行结果,而不是后台程序的执行结果。要获取后台程序的退出状态码,可以使用 $?
变量(在 shell 脚本中)或在程序执行完成后检查其退出状态。