2017-03-07 85 views
1

我正在尋找一種簡單的解決方案,以便在運行時更改Python進程的標題以及top,htopps所顯示的各個python線程。在Linux下更改Python進程和線程標題

我想避免包依賴,但我沒有要求解決方案是可移植的。它應該運行在內核版本爲4.4.38及以上的Gentoo系統上。

我嘗試了以下不幸在我的系統上無法正常工作。

if sys.platform == 'linux2': 
    import ctypes 
    libc = ctypes.cdll.LoadLibrary('libc.so.6') 
    libc.prctl(15, 'Another Name', 0, 0, 0) 
+0

您需要更改解釋器進程的argv [0],沒有簡單和便攜的方式來在純Python中執行它,一些示例在http://stackoverflow.com/questions/564695/is-there中給出-a-way-to-change-effective-process-name-in-python – mucka

回答

0

它是否必須在python內?你能從bash運行腳本作爲exec -a fancy_name python script.py嗎?

如果需要給Python,但只需要適用於從蟒蛇催生新的流程,下面的工作對我來說:

import subprocess 
subprocess.Popen(['cool_name','ls'], executable='watch') 

你在我的情況的方法(libc.prctl)改變工藝名稱顯示通過konsole的標題,但不顯示在pstop中。

+0

謝謝,但我需要在python中在運行時更改名稱。另外我想根據他們當前正在處理的任務動態地命名線程。 –