温馨提示×

ubuntu进程后台运行技巧

小樊
56
2025-07-23 09:32:52
栏目: 智能运维

在Ubuntu中,将进程放到后台运行可以让您继续在终端中执行其他任务

  1. 使用&符号将进程放到后台运行: 在命令的末尾添加&符号,可以让进程在后台运行。例如:

    python my_script.py & 
  2. 使用nohup命令: nohup(no hang-up)命令可以让进程忽略挂起信号,即使您关闭终端,进程也会继续运行。例如:

    nohup python my_script.py & 

    默认情况下,nohup会将输出重定向到名为nohup.out的文件。如果您想将输出重定向到其他文件,可以使用以下命令:

    nohup python my_script.py > output.log & 
  3. 使用screentmux工具: screentmux是终端复用器,可以让您在一个终端窗口中运行多个会话。这意味着您可以在一个会话中启动后台进程,然后断开连接,稍后再重新连接并查看进程状态。例如,使用screen

    screen -S my_background_process python my_script.py 

    按下Ctrl+A,然后按下D将会话分离并放到后台运行。要重新连接会话,请使用以下命令:

    screen -r my_background_process 
  4. 使用systemd服务: 对于需要长期运行的进程,您可以创建一个systemd服务来管理它。首先,创建一个名为my_service.service的文件,并添加以下内容:

    [Unit] Description=My background process [Service] ExecStart=/usr/bin/python /path/to/my_script.py Restart=always User=my_user [Install] WantedBy=multi-user.target 

    my_user替换为您的用户名,将/path/to/my_script.py替换为您的脚本路径。然后,将此文件保存到/etc/systemd/system/目录下,并运行以下命令以启动服务:

    sudo systemctl start my_service 

    要使服务在系统启动时自动运行,请执行以下命令:

    sudo systemctl enable my_service 

    您可以使用以下命令查看服务状态:

    sudo systemctl status my_service 

这些技巧可以帮助您在Ubuntu中将进程放到后台运行。根据您的需求选择合适的方法。

0