nohup执行完立即退出了
时间: 2023-06-14 11:04:36 浏览: 87
这种情况可能是由于以下原因导致的:
1. 没有使用 & 符号将命令放入后台运行,导致在退出终端时会关闭进程。
2. 程序在执行时遇到了错误,并在执行过程中崩溃退出。
3. 程序在执行时输出了大量的信息,导致输出缓冲区已满而退出。
为了解决这个问题,你可以尝试以下几个方法:
1. 在命令后面添加 & 符号,将命令放入后台运行,例如:
```nohup command &```
2. 使用 screen 命令或 tmux 命令创建一个会话,在会话中运行 nohup 命令,这样即使终端退出,程序仍然会在后台运行。
3. 检查程序运行时的日志文件,查看程序在执行时是否遇到了错误。
4. 如果程序输出了大量信息,可以将输出重定向到一个文件中,例如:
```nohup command > output.log &```
这样可以避免输出缓冲区溢出导致程序退出。
相关问题
nohup 任务执行完再执行下一项
您可以使用"&"将命令放入后台运行,同时使用"wait"命令等待前一个命令执行完成后再执行下一个命令。您可以将这两个命令结合使用,实现任务执行完再执行下一项的效果。例如:
nohup command1 &
wait
nohup command2 &
这里,"command1"和"command2"是您要执行的命令。第一条命令会将"command1"放入后台运行,并使用"wait"命令等待它执行完成后再执行下一条命令"command2"。注意,使用"wait"命令时不需要指定任何参数。
shell脚本执行完不退出
可以使用以下方法让shell脚本执行完后不退出:
1. 在脚本最后加上一个无限循环,例如:
while true
do
sleep 1
done
这样脚本就会一直运行下去,直到手动中断。
2. 使用nohup命令运行脚本,例如:
nohup ./test.sh &
这样脚本就会在后台运行,即使关闭终端也不会退出。
3. 使用screen命令运行脚本,例如:
screen -S test ./test.sh
这样脚本就会在一个新的screen窗口中运行,即使关闭终端也不会退出。可以使用Ctrl+A+D命令将screen窗口挂起,再使用screen -r test命令恢复窗口。