linux系统nohup运行完程序后,自动中止程序
时间: 2023-12-14 15:02:33 浏览: 37
如果使用nohup在Linux系统中运行程序,程序会在后台运行,但是在关闭终端窗口或者断开SSH连接后,程序会被挂起或者中止。这是因为nohup默认将程序的输出重定向到nohup.out文件中,当用户退出登录时,该文件描述符被关闭,导致程序被中止。为了解决这个问题,可以使用以下两种方法:
1. 使用&符号将程序放到后台运行,并且将输出重定向到/dev/null,这样程序会一直在后台运行,即使用户退出登录也不会被中止。例如:nohup ./program &> /dev/null &。
2. 使用tmux或screen等终端复用工具,创建一个会话,并在该会话中运行程序,这样即使用户退出登录也可以重新连接到该会话并继续运行程序。例如:tmux new-session -s mysession "./program"。
相关问题
linux系统运行python程序
Linux系统可以通过终端或者命令行运行Python程序。首先需要在Linux系统中安装Python解释器,然后使用命令行工具进入Python程序所在的目录,输入命令“python 文件名.py”即可运行Python程序。在Linux系统中,Python程序也可以作为后台进程运行,可以使用nohup命令将Python程序放入后台运行。
nohup后台运行的程序
nohup 是一个在 Linux 和 Unix 系统上运行命令时使用的工具,它可以使命令在后台运行,并且不会受到终端断开连接的影响。通过使用 nohup ,可以在退出终端或注销用户后继续运行程序。
使用 nohup 运行程序的语法如下:
```
nohup command &
```
其中,command 是要运行的命令或程序。
例如,如果要使用 nohup 后台运行一个名为 myprogram 的可执行文件,可以执行以下命令:
```
nohup ./myprogram &
```
这将使 myprogram 在后台运行,并且将输出重定向到 nohup.out 文件中。你可以使用 `tail -f nohup.out` 命令监视输出。
还可以使用 `ps` 命令来查看后台运行的程序及其进程 ID。例如:
```
ps -ef | grep myprogram
```
请注意,nohup 命令只适用于命令行程序,不适用于图形界面应用程序。