在Ubuntu中,有多种方法可以将进程在后台运行。以下是一些常用的方法:
-
使用
&
符号: 在命令的末尾添加&
符号,可以将进程放入后台运行。例如:python my_script.py &
-
使用
nohup
命令:nohup
(no hang-up)命令可以使进程忽略挂起信号,即使关闭终端或断开SSH连接,进程也会继续运行。例如:nohup python my_script.py &
这将在后台运行
my_script.py
,并将输出重定向到名为nohup.out
的文件。 -
使用
screen
或tmux
:screen
和tmux
是终端复用器,可以创建多个独立的会话,并在需要时与它们分离和重新连接。这对于在后台运行长时间任务非常有用。例如,使用screen
:screen -S mysession python my_script.py
按
Ctrl-A
,然后按D
将会话分离。要重新连接会话,请运行:screen -r mysession
-
使用
systemd
服务: 对于需要长期运行的进程,可以创建一个systemd
服务。首先,创建一个名为my_service.service
的文件,内容如下(根据实际情况修改):[Unit] Description=My custom service [Service] ExecStart=/usr/bin/python /path/to/my_script.py Restart=always [Install] WantedBy=multi-user.target
将此文件保存到
/etc/systemd/system/
目录下,然后运行以下命令启动服务:sudo systemctl start my_service
要使服务在系统启动时自动运行,请执行:
sudo systemctl enable my_service
这些方法中的任何一种都可以帮助您在Ubuntu中将进程在后台运行。选择哪种方法取决于您的需求和偏好。