Python脚本在CentoOS7/CentOS8下作为服务运行
1.在此目录下创建服务文件
/usr/lib/systemd/system/xxx.service
2.xxx.service文件内容为
CentOS7
[Unit]
# 文件放置目录(CentOS 7)/usr/lib/systemd/system/python.service
# 服务描述
Description=Python Service
# 在多用户运行后启动
After=multi-user.target
[Service]
Type=idle
Restart=on-failure
PIDFile=/tmp/python.pid
# 运行命令
ExecStart=/usr/local/conda3/envs/python/bin/python3.7 /usr/local/python/python.py
ExecStop='ps -ef |grep erpServer |awk '{print $2}' | xargs kill -9 '
RestartSec=10s
[Install]
WantedBy=multi-user.target
CentOS8
[Unit]
# 文件放置目录(CentOS 8)/usr/lib/systemd/system/python.service
# 服务描述
Description=Python Service
# 在多用户运行后启动
After=multi-user.target
[Service]
Type=idle
# 运行命令
ExecStart=/usr/local/conda3/envs/python/bin/python3.7 /usr/local/python/python.py
[Install]
WantedBy=multi-user.target
3.更改配置文件的权限
sudo chmod 644 /usr/lib/systemd/system/python.service
4.使配置文件生效
sudo systemctl daemon-reload #重载服务列表
sudo systemctl enable python.service #设置开机自启动
sudo systemctl start python.service #开启服务
sudo systemctl status python.service #查看服务是否正常运行
或者重启查看能否自启动。
reboot
以下为原文:
首先登入centos 7 ,然后输入命令:
sudo vim /usr/lib/systemd/system/myddns.service
#这里myservice.service可以定义为自己想要取的名字。如果vim命令无效可以运行 yum install -y vim 进行安装,或者将vim 改为vi 。
将python脚本添加为centos7服务
进入命令后输入i 进入插入模式
复制粘贴以下内容:
[Unit]
Description=myddns Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/root/.pyenv/versions/3.7.2/bin/python /data/own/ddns.py
[Install]
WantedBy=multi-user.target
说明:
[Unit]
Description=myddns Service # 所取服务的名称 可以自定义
After=multi-user.target # 在multi-user环境启动后运行
[Service]
Type=idle #idle确保脚本在其他东西加载完成之后运行,它的默认值是simple
ExecStart=/root/.pyenv/versions/3.7.2/bin/python /data/own/ddns.py
# /root/.pyenv/versions/3.7.2/bin/python 是当前python解释器位置,一般默认是usr/bin/python ,我这里是使用pyenv 安装的3.7.2 所以位置在 /root/.pyenv/versions/3.7.2/bin/python(注意使用绝对路径)
# /data/own/ddns.py 这是要添加为服务的脚本文件。
[Install]
WantedBy=multi-user.target
将python脚本添加为centos7服务
4
保存并退出。
按ESC键推出插入模式,然后输入:wq 保存并退出
5
更改配置文件的权限:
sudo chmod 644 /usr/lib/systemd/system/myddns.service
6
使配置文件生效
sudo systemctl daemon-reload #重载服务列表
sudo systemctl enable myddns.service #设置开机自启动
sudo systemctl start myddns.service #开启服务
sudo systemctl status myddns.service #查看服务是否正常运行
或者重启查看能否自启动。
reboot
版权声明:本文为Harvey_Develop原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。