在Ubuntu中,有多种方法可以让进程在后台运行。以下是一些常用的方法:
-
使用
&符号:
在命令的末尾加上&符号,可以让进程在后台运行。例如:python my_script.py &这样,
my_script.py将在后台运行,你可以继续在终端中执行其他命令。 -
使用
nohup命令:
nohup(no hang-up)命令可以让进程忽略挂起信号,即使关闭终端,进程也会继续运行。例如:nohup python my_script.py &这样,
my_script.py将在后台运行,即使你关闭终端,它也会继续运行。输出将被重定向到名为nohup.out的文件。 -
使用
screen或tmux工具:
screen和tmux是终端复用器,可以让你在一个终端窗口中运行多个会话。这样,你可以在一个会话中运行进程,然后将其置于后台,稍后再恢复。例如,使用screen:screen -S my_session python my_script.py按下
Ctrl+A,然后按下D将进程置于后台。要恢复会话,可以使用以下命令:screen -r my_session -
使用
systemd服务:
对于需要长期运行的进程,可以创建一个systemd服务。首先,创建一个名为my_service.service的文件:sudo nano /etc/systemd/system/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保存文件并退出。然后运行以下命令启用和启动服务:
sudo systemctl enable my_service.service sudo systemctl start my_service.service这样,
my_script.py将作为systemd服务在后台运行,即使系统重启,它也会自动启动。你可以使用sudo systemctl stop my_service.service停止服务,或使用sudo systemctl restart my_service.service重启服务。