我有一些Python中的長期過程和臨時過程。儘管shell和C程序以自己的名字運行,但所有Python進程都以「python filename.py」運行,這使識別進程變得困難。如何讓Python進程以正確的進程名稱運行?
如何讓python進程在Linux中顯示爲「logserver.py」或類似內容?我在Ubuntu 11.10中使用Python 2.7。
我有一些Python中的長期過程和臨時過程。儘管shell和C程序以自己的名字運行,但所有Python進程都以「python filename.py」運行,這使識別進程變得困難。如何讓Python進程以正確的進程名稱運行?
如何讓python進程在Linux中顯示爲「logserver.py」或類似內容?我在Ubuntu 11.10中使用Python 2.7。
將shebang添加到相關Python文件中,使Python文件可執行(例如通過chmod a+x ./logserver.py
),並直接通過./logserver.py
啓動它。
一個shebang是告訴內核哪個解釋器使用的一行。它只是在文件的開頭就有一行,如#!/usr/bin/env python
。
如果您希望在腳本運行時顯式或更改名稱,則PyPI上有library for that。
import setproctitle
setproctitle.setproctitle('logserver')
使腳本可執行文件並直接啓動它往往是不夠的,雖然。
儘可能多的答案是正確的。這是一個了不起的模塊。 –
推薦使用這行:'#!/ usr/bin/env python' – wim
@wim:你說得對,我已經更新了我的答案。 – lunaryorn