如何在Linux系统下,将python程序打包成可以开机自启动的后台运行的服务?。?

通过pyinstaller可以把python程序打包成可执行程序,问题也可以转换思路为如何把可执行文件封装成服务。
1.开机自启动
2.后台运行
3.Linux系统
备注:服务使用者可能是50+大叔,他只会做一个安装操作。

把py文件目录加入到path,赋予可执行权限,它就是可执行文件了,然后:

在Linux启动起来时,执行一个命令的设置方法==

例如:需要执行的命令是cvslockd

============第一种方式:根据运行级别配置========================

第一步:建立自启动脚本/etc/rc.d/init.d/cvslockd

[root@localhost ~]# vim /etc/rc.d/init.d/cvslockd
#add
/usr/local/bin/cvslockd

[root@localhost ~]# chmod +x /etc/rc.d/init.d/cvslockd

第二步: 确认系统的运行级别

[root@localhost ~]# cat /etc/inittab | grep initdefault

0 - halt (Do NOT set initdefault to this)

6 - reboot (Do NOT set initdefault to this)

id:5:initdefault:

//由此可看到第5个级别是init启动的级别

第三步: 找到对应的/etc/rc5.d/目录下,将要执行的可执行文件做一个软链接,且命名时要以大写S字母开头,S之后的数字大小代表执行顺序的先后,数字越大越后执行

[root@localhost ~]# cd /etc/rc5.d
[root@localhost rc5.d]# ln -s /etc/rc.d/init.d/cvslockd ./S100cvslockd
[root@localhost rc5.d]# ln -s /etc/rc.d/init.d/cvslockd ./K20cvslockd

============第二种方式:执行本地特殊配置========================

[root@localhost ~]# vim /etc/rc.d/rc.local
#add
...
exec /isr/local/bin/cvslockd

//此方式是当系统全部启动起来了,才启动cvslockd