2014-11-23 119 views
0

我正在羣集上運行多個進程。 我使用屏幕命令分別啓動每個進程。 它允許我從集羣斷開連接並查看我的進程。 一個接一個地開始所有的屏幕是一件痛苦的工作。 我想知道如果我們可以用python腳本來做到這一點。 腳本打開新shell創建屏幕運行進程並斷開連接。 在文本文件中寫入所有啓動的進程的信息,如進程ID啓動命令等。從python使用linux'screen'命令

其次,我想停止進程,我想把pid放到文件中,然後運行一個命令,所有提到的過程。

例如

的smaple inut文件看起來像

process_name  command 
     123   python batch_training.py 

我想在PROCESS_NAME給出的名字開始屏幕和表彰將在相應的框架來執行。

感謝

回答

0

嘗試使用 「使用os.system()」 用非標準的Linux命令。 如:

os.system("screen nano") 
0

一般來說,在Python中,你可以通過運行

from os import system

然後

system('whatever_shell_command')

運行系統命令所以你的情況,你可以鍵入:

from os import system 
system('screen') 

不幸的是(這是唯一的排序相關),則不能運行一個以上的命令在一起,所以

system('shell_command ', argument)

將無法​​正常工作。

所以如果你想這樣做,你將需要連接兩個字符串:

full_command = 'shell_command ' + argument 
system(full_command)` 
1

你能給畫面對象在Python的命令?

像:

from os import system 

command = 'screen ' + '/dev/ttyUSB0 38400' 
result = system(command) 

result('ATZ')???