2017-11-13 3 views
1

でbashコマンドを実行し、私はUnixの画面を作成しようとしていますし、それがコマンドを実行しているが、それは動作しません。 画面がイベントを作成していないと私はscreen -lsは、画面を起動するので、PythonでPythonの

を実行する場合、これはコードでそれを見ることができません。

def run_screen_with_command(command): 
    screens = [] 

    command = ['screen', '-d', '-m', '-S', 'myscreen', 'bash', '-c', "'{}'".format(command)] 
    process = subprocess.Popen(command, 
      stdout=subprocess.PIPE, 
      stderr=subprocess.STDOUT) 

    process.wait() 
    print(process.stderr, process.stdout.read()) 
    #returncode = process.wait() 
    print ' '.join(command) 

    return process 


run_screen_with_command('sleep 10') 

答えて

2

あなたがいるので、bash-cの引数を引用する必要はありません。シェルはそれを実行していません。

command = ['screen', '-d', '-m', '-S', 'myscreen', 'bash', '-c', command] 
+0

感謝!!!!できます –

関連する問題