2014-03-25 46 views
3

我有一組python腳本,我將其作爲守護程序服務運行。這些工作都很好,但是當所有腳本都在運行時,我使用top -u <USER>,我看到所有腳本都以python的形式運行。Python - 以'python'以外的名稱運行腳本作爲服務

我真的很想知道哪個腳本運行在哪個process id下。 那麼有什麼方法可以將python腳本作爲不同的進程名執行?

我被困在這裏,而且我不知道Google有什麼條款。 :-)

注意:我正在使用Ubuntu Linux。不確定操作系統是否重要。

回答

1

嘗試使用setproctitle。它應該在Linux上正常工作。

+0

看起來很有前途。我會給它一個鏡頭,並回到這裏評論。 – Brett

0

沒有一個linux系統在這裏適當地測試這個,但如果以上不工作,你應該能夠使用他們使用的東西像gzip的等

腳本同樣的伎倆已經告訴如何在這樣的頂部運行它:

#!/usr/local/bin/python 

使用這樣的符號鏈接:

ln -s /usr/local/bin/python ~/bin/myutil 

然後,只需改變你的腳本

#!~/bin/myutil 

它應該顯示出來,而不是。您可能需要使用硬鏈接而不是軟鏈接。

使用python腳本本身(以及文件關聯和/或shell魔術)啓動python腳本不是很便攜,但幾乎可以在任何操作系統上使用類似的方法。

0

最簡單的方法是使用she bang。你的Python腳本的第一行應該是:這取決於您是否使用Python或python3

,然後分配可執行權限腳本如下

#!/usr/bin/python 

#!/usr/bin/python3 

chmod +x <scriptname> 

然後運行腳本爲

./scriptname 

這將顯示爲scriptnametop

相關問題