Linux程序以服务的形式运行
提示:实现程序的后台运行、开机自启等
1、编写服务文件
新建服务文件:dongle.service(示例文件)
文件内容如下:
#[Unit]部分主要是对这个服务的说明,内容包括Description和After,Description
#用于描述服务,After用于描述服务类别
[Unit]
Description=Dongle Service
After=network.service
#[Service]部分是服务的关键,是服务的一些具体运行参数的设置,这里Type=forking
#是后台运行的形式,PIDFile为存放PID的文件路径,ExecStart为服务的具体运行命令,
#ExecReload为重启命令,ExecStop为停止命令,PrivateTmp=True表示给服务分配独
#立的临时空间,注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使
#用相对路径则会报错!
#StandardOutput=null 是将程序业务日志输出到空,也可以指定文件,或者交给journal处理
[Service]
#Type=forking
User=haige
Group=haige
WorkingDirectory=/home/haige/app
ExecStart=/usr/bin/nohup /home/haige/app/dongle >/dev/null 2>&1 &
#SuccessExitStatus=143
ExecStop=/usr/bin/kill -9 $MAINPID
Environment=HOME=/home/haige PWD=/home/haige/app
StandardOutput=null
#StandardOutput=/tmp/services/logs/iBot/iBot-run.log
#[Install]部分是服务安装的相关设置,可设置为多用户的
[Install]
WantedBy=multi-user.target
2、拷贝服务文件
把文件dongle.service放到 /usr/lib/systemd/system 目录下 /usr/lib/systemd/system
3、服务操作
systemctl start hxcl.service 启动
systemctl stop hxcl.service 停止
systemctl restart hxcl.service 重启
systemctl enable hxcl.service 添加为系统自启动服务