Linux 拨号vps windows公众号手机端

Ubuntu 18.04系统后台运行程序的方法

lewis 4年前 (2021-02-08) 阅读数 5 #网络运维

本文目录导读:

  1. <"http://#id1" title="使用&符号" "">使用&符号
  2. <"http://#id2" title="使用nohup命令" "">使用nohup命令
  3. <"http://#id3" title="使用screen命令" "">使用screen命令
  4. <"http://#id4" title="使用systemd服务" "">使用systemd服务

在Ubuntu 18.04系统中,后台运行程序可以让您在不影响前台操作的情况下,使程序在后台持续运行,这对于那些需要长时间运行的任务,如服务器、数据库等,非常有用,下面将从多个方面介绍如何在Ubuntu 18.04系统中后台运行程序。

使用&符号

最简单的方法是在命令行中直接使用&符号来运行程序,如果您要运行名为"my_program"的程序,只需在终端中输入以下命令:

my_program &

这将使程序在后台运行,您可以在前台继续使用终端,而程序将在后台执行。

使用nohup命令

nohup命令可以让程序忽略挂断信号(SIGHUP),使其在后台持续运行,使用方法如下:

1、打开终端。

2、输入以下命令:

nohup my_program &

这将使程序在后台运行,并将输出重定向到一个名为"nohup.out"的文件中,您可以使用以下命令查看输出:

tail -f nohup.out

使用screen命令

screen命令可以创建一个新的会话,并在其中运行程序,这对于长时间运行的进程非常有用,因为它允许您在断开终端连接后继续运行程序,使用方法如下:

1、打开终端。

2、输入以下命令创建一个新的screen会话:

screen -S my_session

3、在新的screen会话中,运行您的程序。

4、当您完成程序运行后,按下Ctrl + A,然后按下D键来断开screen会话,您可以在以后重新连接到该会话,以查看程序的输出或继续运行程序,要重新连接到screen会话,请输入以下命令:

screen -r my_session

使用systemd服务

对于更复杂的程序,您可以使用systemd服务来在后台运行程序,systemd是Ubuntu系统中的初始化系统和系统和服务管理器,它可以帮助您管理后台进程、配置文件和日志等,下面是一个简单的示例,演示如何创建一个systemd服务来运行程序:

1、创建一个新的systemd服务文件,创建一个名为"my_program.service"的文件,可以使用以下命令:

sudo nano /etc/systemd/system/my_program.service

2、在打开的编辑器中,输入以下内容:

[Unit]
Description=My Program Service
After=network.target
[Service]
ExecStart=/path/to/my_program
Restart=on-failure
User=my_user # 替换为您的用户名或root用户
Group=my_group # 替换为您的用户组或root用户组
Environment=MY_ENV_VAR=my_value # 替换为您的环境变量和值(可选)
WorkingDirectory=/path/to/working/directory # 替换为您的工作目录(可选)
UMask=0007 # 设置文件创建权限(可选)
RestartSec=3 # 设置重启间隔时间(可选)
StandardOutput=syslog # 将输出重定向到系统日志(可选)
StandardError=syslog # 将错误输出重定向到系统日志(可选)
SyslogIdentifier=my_program # 设置系统日志标识符(可选)
User=my_user # 替换为您的用户名或root用户(可选)
Group=my_group # 替换为您的用户组或root用户组(可选)
Environment=MY_ENV_VAR=my_value # 替换为您的环境变量和值(可选)
EnvironmentFile=/path/to/env/file # 从环境文件中读取环境变量(可选)
LimitNOFILE=100000 # 设置进程打开的文件数限制(可选)
LimitNPROC=100000 # 设置用户可用的进程数限制(可选)
LimitCORE=infinity # 设置核心转储文件的生成限制(可选)
TasksMax=infinity # 设置任务数限制(可选)
Delegate=yes # 允许子进程以不同的用户和组身份运行(可选)
Type=simple # 设置启动类型(可选)
PIDFile=/path/to/pid/file # 设置PID文件路径(可选)
[Install]
WantedBy=multi-user.target # 设置启动级别(可选)
版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门