Linux下設定python指令碼檔案為服務

2021-09-25 01:22:25 字數 2501 閱讀 6327

python指令碼開機自動執行;本帖適用於使用systemd的linux系統,現在流行的linux發行版都使用systemd。

後台服務程式是隨系統自啟動的,我們只要把python指令碼配置為服務就行了。需要注意的一點是你python指令碼的啟動時機,它依賴不依賴其他服務(網路連線、一些分割槽的掛載等等)。

#1 python指令碼

乙個你要自啟動的python指令碼,我使用 /home/snail/autorun.py為例。

#2 建立unit配置檔案

$sudovim/lib/systemd/system/autorun.service

寫入如下內容:

上面定義了乙個叫 test service 的服務,它在multi-user環境起來之後執行;execstart引數指定我們要執行的程式;idle確保指令碼在其他東西載入完成之後執行,它的預設值是******。

注意使用絕對路徑。

為了獲得指令碼的輸出資訊,我們可以重定向到檔案:

execstart=/usr/bin/python/home/snail/autorun.py>/home/snail/autorun.log2>&1

更改配置檔案的許可權:

$sudochmod644/lib/systemd/system/autorun.service

#3 使配置檔案生效

#4 重啟

$sudoreboot

#5 檢視服務狀態

#6 服務操作命令

systemctl命令是系統服務管理器指令,它實際上將service和chkconfig這兩個命令組合到一起。

例項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 -jaccept

如果仍然有問題,就可能是selinux導致的

關閉selinux:

修改/etc/selinux/config檔案中的selinux=」」為disabled,然後重啟。

徹底關閉防火牆:

sudosystemctl status firewalld.servicesudo systemctl stop firewalld.service          sudo systemctl disable firewalld.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 -jaccept

如果仍然有問題,就可能是selinux導致的

關閉selinux:

修改/etc/selinux/config檔案中的selinux=」」為disabled,然後重啟。

徹底關閉防火牆:

sudosystemctl status firewalld.servicesudo systemctl stop firewalld.service          sudo systemctl disable firewalld.service

linux 下設定定時任務執行shell指令碼

名稱 crontab 使用許可權 root使用者和crontab檔案的所有者 語法 crontab e username l username r username v username file 說明 crontab 是用來讓使用者在固定時間或固定間隔執行程式之用,換句話說,也就是類似使用者的時程...

Linux下設定網絡卡

linux下設定網絡卡的速率和模式 mii tool f 100basetx fd eth0 把網絡卡eth0設定為100m的全雙工模式 還可以用 ethtool ethtool s eth0 speed 100 duplex full autoneg on 檢視機器上的網絡卡裝置 lspci 檢視...

Linux下設定時間

提供兩種最根本有效的方式,就是更改時區。這裡以更改為國內上海時間例子,其他地方時區同理。備份檔案 mv etc localtime etc localtime.bak 複製時區檔案 cp usr share zoneinfo asia shanghai etc localtime 這裡選擇了亞洲下的...