linux systemctl设置进程自启动

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 &'

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、 实验目的 1、通过实验了解和熟悉Linux系统管理; 2、掌握用户和组管理命令; 3、掌握软件包安装命令和步骤; 4、掌握网络通信管理命令; 5、掌握进程管理命令; 6、掌握系统的服务管理命令; 7、掌握磁盘操作管理命令。 二、 开发工具和运行环境 1、虚拟机VMware 2、Linux操作系统 三、 实验内容 1、了解和熟悉Linux系统管理 2、用户和组管理命令 (1)帐户管理命令: useradd、 usermod、 passwd、userdel (2)组帐户管理命令: groupadd、 groupdel. gpasswd 3、软件包安装命令和步骤 (1) RPM 包的安装 安装RPM包的基本命令格式是: rpm -ivh (2) RPM 包的删除 删除RPM包的基本命令格式是: rpm -e (3) RPM 包的查询 rpm - qa (4) RPM 包的升级 升级RPM包的基本命令格式是: rpm -Uvh (5) RPM包的验证 验证RPM包的基本命令格式是: rpm -V [参数] (6)建立TAR包 有两种方式: -种是建立普通的TAR包,只打包,不压缩 tar cvf 另一种是打包并压缩,选项是“zcvf”,其中“z”代表使用“gzip” 程序 进行文件的压缩 tar zcvf (7)查询TAR包 在释放TAR包之前,查看TAR包中的文件内容。其格式如下: tar ztf (8)释放TAR包 它也分为解非压缩和压缩包两种方式,命令格式如下: tar zxvf 4、网络通信管理命令 (1)hostname命令:显示及设置主机名。 (2)ifconfig命令:显示当前活动的(或指定的)网卡设置。 其格式为: ifconfig [网卡设备名] 重新设置网卡的IP地址,-般由root用户进行设置。其格式为: Ifconfig 网卡设备名 IP 地址 (3) ping命令:网络测试命令 ping [-c报文数] 目的主机地址 (4)write命令:实时给其他用户发送消息 write username [tty] (5)wall命令:以广播方式向系统中的所有用户发送消息 wall message (6)mail 命令:双方用户不同时在线时,使用mai发送和接收消息 mail username mail -s topic username<filename 查看邮件使用mail命令,输入邮件编号以查看邮件 5、进程管理命令 (1)at命令:定时任务命令 (2)ps命令:进程查看命令 ps -ef ps -axu (3)free命令:显示系统内存的使用情况,包括内存总量、已经使用内存数量,空闲内存数量等信息。 (4) top命令:实时监控系统进程。 (5)sleep 命令:用于使进程延迟一段时间再执行。 其格式为: sleep time; command (6)kill命令:来杀死程序产生的进程来结束程序的运行。 格式1 : kill PID 格式2 : kill -9 PID “-9”为SIGKILL信号,属于强制结束 (7)前台与后台运行相关命令 command、command & 6、系统的服务管理命令 (1) runlevel 命令:显示系统当前和上一次的运行级别 (2) init 命令:转换服务的运行级别 init n (3)systemctl 命令:系统服务管理 查看系统服务启动状态。其格式: systemctl list-unit-files --type service 列出所有处于激活状态的服务。其格式为: systemctl list-units --type service --all 服务状态控制。其格式: systemctl [status/start/stop/ restart/reload] name.service 服务开机自启控制。其格式: systemctl [enable/di sable] name.service 7、磁盘操作管理命令 (1)查看系统磁盘分区情况命令: Fdisk -l (2)使用命令手工挂载 mount命令:查看所有挂载设备 mount [-t fs-type] [-o option] device mountpoint 例: mount /dev/cdrom /mnt/cdrom (注意,先要建立挂载目录,并保证设备存在) (3)卸载 umount [device] [dir]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值