nohup运行另一个之前的就停止了
时间: 2023-06-18 12:07:52 浏览: 39
在Linux中,nohup命令用于在后台运行程序,使程序不会随着终端关闭而停止运行。如果您在运行另一个程序之前运行了一个nohup命令,那么该程序仍将在后台运行,但是如果您运行的另一个程序需要使用该终端,则该终端将被接管,导致nohup命令后台运行的程序停止。您可以使用以下步骤来避免这种情况:
1. 在运行nohup命令后立即关闭终端,这样可以确保nohup后台运行的程序不会被终端接管。
2. 在运行nohup命令时,使用“&”符号将其放入后台运行,然后立即运行另一个程序。这样,两个程序都将在后台运行,且彼此不会影响。例如:
```
nohup command1 &
command2
```
这将使command1在后台运行,然后立即运行command2。
3. 在运行nohup命令时,使用“screen”命令创建一个新的终端会话,然后在该会话中运行nohup命令和其他程序。这样,您可以在需要使用终端时轻松切换回nohup命令和其他程序。例如:
```
screen
nohup command1 &
command2
```
这将创建一个名为“screen”的新终端会话,并在该会话中运行nohup命令和command2。您可以使用“Ctrl+A,D”组合键来从会话中分离,然后在需要时使用“screen -r”命令重新连接到会话中。
相关问题
nohup 怎么停止
要停止nohup进程,可以使用以下方法:
1. 查找nohup进程的PID:可以使用命令`ps aux | grep nohup`来查找正在运行的nohup进程,并找到对应的PID。
2. 使用kill命令终止进程:运行`kill PID`命令,将PID替换为你找到的nohup进程的PID。这将发送一个终止信号给进程并停止它的运行。
另外,如果使用Ctrl+C无法结束nohup进程,你可以尝试以下方法:
. 查找nohup进程的PID:使用`ps aux | grep nohup`命令找到对应的PID。
2. 使用kill命令强制终止进程:运行`kill -9 PID`命令,将PID替换为你找到的nohup进程的PID。这将发送一个强制终止信号给进程,无论进程是否愿意停止,都会立即停止它的运行。
请注意,使用kill命令终止进程可能会导致未保存的数据丢失,请确保在终止进程之前已经保存了重要的数据。
怎么把正在运行nohup.out清空
如果您想要清空一个正在运行的nohup.out文件,可以使用以下命令:
```
cat /dev/null > nohup.out
```
这个命令将/dev/null设备的输出重定向到nohup.out文件中,从而清空文件内容。请注意,这可能会对正在运行的程序造成影响,因为它可能会打开nohup.out文件并尝试写入它。如果您不想对正在运行的程序造成影响,请在nohup.out文件重定向之前停止该程序。