zoukankan      html  css  js  c++  java
  • Linux下设置python脚本文件为服务

    (最简单的方式nohup python xxx.py)

    -------------------------------------------------------------------------------------------------------------------

    Python脚本开机自动运行;本帖适用于使用systemd的Linux系统,现在流行的Linux发行版都使用systemd。

    后台服务程序是随系统自启动的,我们只要把Python脚本配置为服务就行了。需要注意的一点是你Python脚本的启动时机,它依赖不依赖其他服务(网络连接、一些分区的挂载等等)。

    #1 Python脚本

    一个你要自启动的Python脚本,我使用 /home/snail/autorun.py为例。

    #2 创建Unit配置文件

    写入如下内容:

    上面定义了一个叫 Test Service 的服务,它在multi-user环境起来之后运行;ExecStart参数指定我们要运行的程序;idle确保脚本在其他东西加载完成之后运行,它的默认值是simple。

    注意使用绝对路径。

    为了获得脚本的输出信息,我们可以重定向到文件:

    更改配置文件的权限:

    #3 使配置文件生效

    #4 重启

    #5 查看服务状态

    Python脚本开机自启动(Linux)

    Python脚本开机自启动(Linux)

    #6 服务操作命令

    systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起。

    任务 旧指令 新指令
    使某服务自动启动 chkconfig --level 3 httpd on systemctl enable httpd.service
    使某服务不自动启动 chkconfig --level 3 httpd off systemctl disable httpd.service
    检查服务状态 service httpd status systemctl status httpd.service (服务详细信息) systemctl is-active httpd.service (仅显示是否 Active)
    显示所有已启动的服务 chkconfig --list systemctl list-units --type=service
    启动某服务 service httpd start systemctl start httpd.service
    停止某服务 service httpd stop systemctl stop httpd.service
    重启某服务 service httpd restart systemctl restart httpd.service

    实例

    1.启动nfs服务

    systemctl start nfs-server.service

    2.设置开机自启动

    systemctl enable nfs-server.service

    3.停止开机自启动

    systemctl disable nfs-server.service

    4.查看服务当前状态

    systemctl status nfs-server.service

    5.重新启动某服务

    systemctl restart nfs-server.service

    6.查看所有已启动的服务

    systemctl list -units --type=service

    开启防火墙22端口

    iptables -I INPUT -p tcp --dport 22 -j accept

    如果仍然有问题,就可能是SELinux导致的

    关闭SElinux:

    修改/etc/selinux/config文件中的SELINUX=””为disabled,然后重启。

    彻底关闭防火墙:

    sudo systemctl status firewalld.service
    sudo systemctl stop firewalld.service          
    sudo systemctl disable firewalld.service
  • 相关阅读:
    jquery 序列化form表单
    nginx for windows 安装
    nodejs idea 创建项目 (一)
    spring 配置 shiro rememberMe
    idea 2018 解决 双击shift 弹出 search everywhere 搜索框的方法
    redis 在windows 集群
    spring IOC控制反转和DI依赖注入
    redis 的安装
    shiro 通过jdbc连接数据库
    handlebars的用法
  • 原文地址:https://www.cnblogs.com/fu-yong/p/9683129.html
Copyright © 2011-2022 走看看