1 了解运行机制
参考https://blog.csdn.net/wo18237095579/article/details/89376857#_4
这篇讲的很清楚了
大概意思是这样的:Systemd 是系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源,服务器进程和其它进程。
所以按照它的规则编写我们自己的service单元,就可以开机启动程序。
2 编写service
位置: /etc/systemd/system
我们在这个目录下写入我们的yourServiceName.service
ps:大意是
Type指定了我的类型是simple
after指定了启动network.service服务后开始启动我的服务,
ExecStart指定了执行/usr/bin/python3 server.py ,
WorkingDirectory指定了工作空间在
PrivateTmp指定了开启独立的进程空间,
3 开启服务
systemctl start yourServiceName.service
可能会碰到一些问题,比如提示你参数错误,我的是因为文件内容格式有点问题报错,还有可能发生别的错误,这时候它会提示你用status命令查看
systemctl status yourServiceName.service
这里可以看到具体原因
1)Exec format error
2)再比如运行时程序出错退出了,什么的。
通过这两句命令在这里把service调试完毕。
另外,貌似通过这种方式启动的,不会在命令行里给你输出,所以print那些就无效了,只能用其功能去测试
通过ps -aux | grep java
可以查看到已启动的python程序
4 设置开机启动
systemctl enable yourServiceName.service
会显示Created symlink from /etc/systemd/system/multi-user.target.wants/jenkins.service to /etc/systemd/system/jenkins.service.
来源:51CTO
作者:狂奔的CD
链接:https://blog.csdn.net/kkae8643150/article/details/101218599