Linux设置进程自启动(systemd,init)

您所在的位置:网站首页 linux脚本启动程序和手动启动程序的区别在哪 Linux设置进程自启动(systemd,init)

Linux设置进程自启动(systemd,init)

2024-02-16 14:34| 来源: 网络整理| 查看: 265

Linux设置进程自启动(systemd,init) 一、介绍

  首先,你能来到这里说明你已经浏览了很多帖子,真正急切地渴望得到具体答案。话不多说,直接开始我们的正文吧!目前市面上各种发行版linux操作系统,1号进程基本已经替换成systemd进程,在较早版本的linux,1号进程是init进程。   所以,下面主要介绍通过systemd进程拉起我们自己进程的方式,再附带传统的init进程脚本拉起方式;

二、systemd进程拉起方式

  systemd进程拉起的方式,主要是在启机时执行/etc/systemd/system/对应目录下的*.service脚本,具体细节,自行百度。下面就直接进入具体的操作。   举例,你要拉起的可执行程序名称是txx,放在linux上/usr/sbin/txx目录下。

1.首先,将你的进程丢到linux随意一个目录,给进程赋予执行权限

chmod 777 /usr/sbin/txx

2.为你的进程制定一个*.service脚本,如我的脚本txx.service;

[Unit] Description=this is my txx [Service] Type=simple ExecStart=/usr/sbin/txx RemainAfterExit=yes [Install] WantedBy=multi-user.target

3.将txx.service放置在systemd启动*.service的源目录位置/usr/lib/systemd/system/txx.service

cp ./txx.service /usr/lib/systemd/system/txx.service chmod 777 /usr/lib/systemd/system/txx.service

4、systemctl允许服务,执行下列命令会自动建立链接关系。

#txx为上述txx.service文件命名中的txx systemctl enable txx

5.reboot重启操作系统后即可看到进程已启动

ps -ef |grep txx|grep -v grep

显示:

root 565 1 0 17:53 ? 00:00:00 /usr/sbin/txx 三、init.d传统脚本方式

1.为txx进程创建一个init.d方式拉起的标准脚本,例如,txx,脚本内容如下;

#!/bin/sh program=txx case "$1" in start) echo "start txx..." /usr/sbin/$program & >/dev/null 2>&1 ;; stop) echo "stop txx..." pidof $program |xargs kill ;; restart) echo "restart txx..." ${0} stop sleep 1 ${0} start ;; reload) echo "i donot konw how to write this step..." ;; *) echo "$program Usage : {start|stop|restart|reload}" ;; esac

2.将上述脚本txx拷贝至/etc/init.d

cp ./txx /etc/init.d/ chmod 777 /etc/init.d/txx

3.systemctl设置启机加载

systemctl enable txx

4.reboot操作系统,启机即可看到进程自启动

ps -ef |grep txx|grep -v grep 四、其他方式拉起(2021.11.02补充)

除了上面介绍的两种方式外,也可以通过将个人程序启动命令写到Linux系统启动时系统会执行的一些脚本中,也可以达到系统启动时自动拉起的目的,这个方法较简单。比如笔者常写到的两个脚本是/etc/bash.bashrc和/etc/profile。 举例,我个人的程序是txx,位于/root/txx,那我该将下面这一行加入到/etc/bash.bashrc或/etc/profile末尾,这样系统启动时就能帮我执行拉起txx了。 不过,需要注意的是,这种方式的拉起在/bin/bash进程退出后,这些拉起的进程也会退出。ssh远程方式会存在这种问题,这时候可以使用前面讲到的方式来拉起。如果你是直接在实际的linux机器上执行的,这不会有问题。

/root/txx > /dev/null & 五、结尾

好的,行文至此,关于Linux自启动的介绍到此就结束了。以上内容如有错误,欢迎指正,相互学习。如有帮助到你,请点赞关注再走吧!纯手打!码字不易,转发请备注出处。–(˙˙)/–



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3