在 CentOS 系统中,启动后台进程通常有以下几种方法:
使用 &
符号:
在命令行中,你可以在命令的末尾添加 &
符号,将进程放入后台运行。例如:
python 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 mysession
python my_script.py
按 Ctrl
+ A
然后按 D
键,将会话分离并返回到正常终端。要重新连接会话,请运行:
screen -r mysession
使用 systemd 服务:
对于需要在系统启动时自动运行的后台进程,你可以创建一个 systemd 服务。首先,创建一个服务文件,例如 /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
要检查服务状态,请运行:
sudo systemctl status my_service.service
根据你的需求选择合适的方法来启动后台进程。