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.pswp.cn/news/258547.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/258547.shtml
英文地址,請注明出處:http://en.pswp.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;因此這個系統服務是默認啟動的。另外, 由于使用者自己也可以設置計劃…