python 服务注册_将python程序注册为Ubuntu系统服务,并开机启动的方法。

一、系统环境

操作系统:ubuntu 18 (该版本已默认使用systemd作为init)

python版本:3.6

二、步骤

(一)准备python程序

1、在 /usr/bin/ 下新建python程序 svc-test.py

# nano /usr/bin/svc-test.py

#! /usr/bin/python3

import time

while True:

f = open('/tmp/svc-test.log', 'a', encoding='utf8')

now = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))

f.write(now+'\n')

f.close()

time.sleep(2)

2、添加执行权限

# chmod +x /usr/bin/svc-test.py

(二)向系统注册服务

1、编写注册文件

在 /etc/systemd/system/ 下添加svc-test.service 文件

# nano /etc/systemd/system/svc-test.service

[Unit]

Description=svc-test

After=basic.service //启动顺序

[Service]

Type=oneshot

KillMode=control-group

WorkingDirectory=/tmp

ExecStart=/usr/bin/python3 /usr/bin/svc-test.py //必须使用绝对路径

[Install]

Alias=svc-test.service

WantedBy=multi-user.target

2、添加执行权限

# chmod + x /etc/systemd/system/svc-test.service

3、重载系统服务

# systemctl daemon-reload

4、将服务注册为开机启动

# systemctl enable svc-test.service

三、附录--一些关于systemctl的命令

查看所有服务的状态

# systemctl status

停止服务

# systemctl stop svc-test

手工启动服务

# systemctl start svc-test

查看单个服务的状态

# systemctl status svc-test

● svc-test.service - svc-test

Loaded: loaded (/etc/systemd/system/svc-test.service; enabled; vendor preset: enabled)

Active: activating (start) since Thu 2020-01-02 00:42:43 CST; 21min ago

Main PID: 574 (python3)

Tasks: 1 (limit: 4604)

CGroup: /system.slice/svc-test.service

└─574 /usr/bin/python3 /usr/bin/svc-test.py

Jan 02 00:42:43 NanoPi-M4 systemd[1]: Starting svc-test...

禁用开机启动

# systemctl disable svc-test.service

Removed /etc/systemd/system/multi-user.target.wants/svc-test.service.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258547.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

源码安装NASM,无root权限

首先说明我的系统是redhat linux64位。没有root权限。我们想安装nasm2.13. 下面介绍具体的安装步骤。 1. 下载源码: https://www.nasm.us/pub/nasm/releasebuilds/2.13/ 选择nasm-2.13-xdoc.tar.gz下载在本地目录下 2. 解压,tar -xvzf nasm-2.13-xdoc.tar.gz &…

Volley简单学习使用五—— 源代码分析三

一、Volley工作流程图: 二、Network在NetworkDispatcher中须要处理的网络请求。由以下进行处理:NetworkResponse networkResponse mNetwork.performRequest(request);看一下mNetwork的定义:(定义在NetworkDispatcher中&#xff0…

html5 - history 历史管理

参考文章: w3c : http://www.w3.org/html/ig/zh/wiki/HTML5/history 张鑫旭 : http://www.zhangxinxu.com/wordpress/2013/06/html5-history-api-pushstate-replacestate-ajax/ zawa : http://zawa.iteye.com/blog/1271031  Demo : Demo 截图&#xff…

源码安装libjpeg-turbo1.2.1,无root权限

首先说明我的系统是redhat linux64位。没有root权限。我们想安装libjpeg-turbo. 下面介绍具体的安装步骤。 本来想安装最新的版本,但是最后失败了,无奈安装成1.2.1. 1. 下载源码: https://zh.osdn.net/projects/sfnet_libjpeg-turbo/download…

Android开发学习---使用Intelij idea 13.1 进行android 开发

Android开发学习---使用Intelij idea 13.1 进行android 开发 原文:Android开发学习---使用Intelij idea 13.1 进行android 开发1.为什么放弃eclipse?太卡!! 实在受不了eclipse的卡了,运行WEB项目还好,但android开发实在太慢,太慢!经常卡死,CPU经常被占满! 看网上很多人都说比I…

python滑动条来设置阈值houghcircle_OpenCV Python,为什么Hough Circle Transform找不到所有圆圈?...

我搜索了很长时间可能出错但我并不真正了解参数和预处理的影响我无法发布图片,但是在一张非常清晰的欧元照片上,该程序识别出一些圈子,而不是其他一些圈子,甚至可以像其他人一样清楚.这是我的代码:‘$’import cv2import numpy as npfilename rC:\Users\roseline\D…

Logcat打印调试信息

Android Logcat调试中的V、D、I、W、E的分别代表什么? Log.v -- 黑色 -- verbose infoLog.d -- 蓝色 -- debug infoLog.i -- 绿色 -- infoLog.w -- 橙色 -- warnLog.e -- 红色 -- error info//Log.ASSERT -- 断言 //Log.wtf() (1、Log.v 的调试颜色为黑色的&#xf…

opencv中的椭圆拟合

首先贴一个最简单的程序:访问:https://blog.csdn.net/guduruyu/article/details/70069426 //创建一个用于绘制图像的空白图 cv::Mat image cv::Mat::ones(480, 640, CV_8UC3); //设置蓝色背景 image.setTo(cv::Scalar(100, 0, 0)); //输入拟合…

unix c 11

多线程(thread) 操作系统支持多进程,进程内部使用多线程。 进程是 重量级的,拥有自己 独立的内存空间。 线程是 轻量级的,不需要拥有自己 独立的内存空间,线程的内存空间:1 共享进程的内存空间 2 每个线程拥有…

C# .net core 使用自定义的WebProxy

为什么80%的码农都做不了架构师?>>> 因为.net core 的System.Net 中没有提供WebProxy这个方法,所以可以根据需求实现一个. public class CoreWebProxy : IWebProxy{public readonly Uri Uri;private readonly bool bypass;public CoreWebProxy(Uri uri,…

2015年08月

2015年07月 - 2015年09月 ● 一般而言。。。 一般而言,牙周病轻者有口臭、牙龈红肿疼痛、刷牙流血等症状,严重时会造成牙龈萎缩、牙齿敏感、牙齿摇动等情况。口腔没有在饮食后30分钟清洁就会逐渐转化为酸性环境(PH值约5.5)&#x…

python类汇总_Python 类总结

Python可以继承多个父类,多重继承。类支持多个对象的产生,命名空间的继承,运算符重载1)、类产生多个实例对象Python OOP模型中的两种对象:类对象和实例对象。类对象提供默认的行为,是实例对象的工厂。实例对象是程序处…

matlab ,python,c++关于格式化输出数字的表达

我们想要格式化输出1,2,3,...为001,002,003 ... 那么在matlab,python,c该如何表达呢? matlab: >> filedirsprintf(%03i,10)filedir 010 or >> imagenamenum2str(10,%03d)imagename 010 python: index_str %03d % 10index_str Ou…

读取Exchange的用户未读邮件数的几种方法

【http://www.cnblogs.com/nbpowerboy/p/3539422.html】 可以使用ExchangeServiceBinding获取邮件,他相当于outlook, 来获取服务器的未接受的邮件. 至于 “该帐户无权模拟所请求的用户 ” ,是由于在exchange服务器上面没有配置模拟账户. 需要在Exchange Management …

IOS第七天(2:UiTableView 加上数据分离)

****加上数据分离 #import "HMViewController.h" #import "HMStudent.h"interface HMViewController () <UITableViewDataSource> property (weak, nonatomic) IBOutlet UITableView *tableView;/** 数据列表 */ property (nonatomic, strong) NSArr…

观点:Linux 上的杀毒软件

刚刚进入二月&#xff0c;在360安全卫士 for Linux瞬间更名为360安全卫士国产系统专版。紧接着不久&#xff0c;Dr.Web 宣布发现一款可能源自 ChinaZ 的 Linux 系统的后门程序。加之又被朝内媒体炒作起来的 OpenSSL 基金会事宜&#xff0c;不由得思绪飘溢&#xff0c;再看看 Li…

使用opencv的LBF算法进行人脸关键点检测

首先下载最新的opencv 和opencv_contrib, 然后按照在Windows下编译扩展OpenCV 3.1.0 opencv_contrib的方法进行编译&#xff0c;其中核心一点就是先编译opencv&#xff0c;再在OPENCV_EXTRA_MODULES_PATH中加入opencv_contrib的modules的路径。 编译好了后就可以进行人脸关键…

scala case class 继承_数字硬件系统设计之一:Scala快速入门(2)

原想简单笼统介绍一下scala&#xff0c;后感觉这么做意思不大&#xff0c;网友看了和没看一样&#xff0c;还是应该稍微详细具体一点&#xff0c;故而把系列编号由(上)(中)(下)&#xff0c;改为(上)(2)(3)(4)(5)....,(上)就是(1)吧&#xff0c;以下内容部分节选于我们即将出版的…

Ubuntu下安装FTP服务及使用(VSFTPD详细设置)(二)

vsftpd 作为一个主打安全的FTP服务器&#xff0c;有很多的选项设置。下面介绍了vsftpd的配置文件列表&#xff0c;而所有的配置都是基于vsftpd.conf这个配置文件 的。本文将提供完整的vsftpd.conf的中文说明。学习本文的内容将有助于你初步了解vsftpd的配置文件&#xff0c;但针…

crontab命令

前一天学习了 at 命令是针对仅运行一次的任务&#xff0c;循环运行的例行性计划任务&#xff0c;linux系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作&#xff0c;因此这个系统服务是默认启动的。另外, 由于使用者自己也可以设置计划…