linux systemctl设置进程自启动

本文详细介绍了如何在Linux系统中创建并管理demo.service服务文件,包括设置启动类型、工作目录、命令执行及权限,并演示了如何配置nsq服务以后台运行并定向日志。涵盖了Systemd服务管理的关键步骤和常见问题解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、在/etc/systemd/system目录下,新建demo.service文件;

2、在demo.service文件内输入

[Unit]     				
Description=demo	                  #当前配置文件的描述信息
After=network.target nginx.service    #表示当前服务是在那个服务后面启动,一般定义为网络服务启动后启动

[Service]
WorkingDirectory=/home/test                #工作目录				
Type=forking			                   #定义启动类型 
ExecStart=/home/test/demo-start.sh 	       #定义启动进程时执行的命令。
ExecReload=/home/test/demo-restart.sh      #重启服务时执行的命令
ExecStop=/home/test/demo-stop.sh		   #定义关闭进程时执行的命令。
PrivateTmp=true							   #是否分配独立空间
Restart=always
RestartSec=5
StartLimitInterval=0
StartLimitBurst=5

[Install]
WantedBy=multi-user.target    #表示多用户命令行状态

 Type字段:定义启动类型。它可以设置的值如下:
         - simple(默认值):ExecStart字段启动的进程为主进程
         - forking:后台执行,ExecStart字段将以fork()方式启动,此时父进程将会退出,子进程将成                           为主进程
         - oneshot:类似于simple,但只执行一次,Systemd 会等它执行完,才启动其他服务
         - dbus:类似于simple,但会等待 D-Bus 信号后启动
         - notify:类似于simple,启动结束后会发出通知信号,然后 Systemd 再启动其他服务
         - idle:类似于simple,但是要等到其他任务都执行完,才会启动该服务。一种使用场合是为                      让该服务的输出,不与其他服务的输出相混

3、chmod 777 demo.service                     #添加可执行权限

4、systemctl enable demo.service            #设置开机自启

5、systemctl start demo.service                #启动服务

6、systemctl stop demo.service                #停止服务

7、systemctl restart demo.service            #重启服务

8、systemctl disable demo.service           #取消开机自启

9、systemctl status demo.service             #服务详细信息

10、systemctl is-active demo.service         #仅显示是否Active

11、systemctl list-units --type=service      #显示全部已经启动的服务

注意:在更新完demo.service后,要重启服务的配置文件:systemctl daemon-reload

遇到问题:

1、在配置nsq服务的时候,想要在后台运行,且设置nsq中的nsqlookupd、nsqd和nsqadmin三个服务的输出到指定位置,该怎么做?

解答:

        需要把service文件中的ExecStart字段的配置项稍作修改,例如:

ExecStart=/bin/bash -c '/home/nsq/nsqlookupd > /home/log/nsqlookupd.log 2>&1 &'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值