[問題] 如何在shell裡面下指令
嗨大家好
想請問如何要在一個新的shell裡面下指令,不會等到該shell關閉以後才能繼續那個指令
舉個例子,在Unix shell上面,假設用特定的指令會開新的shell (暫且稱之為newsh),
進去這個newsh shell以後,想要用exit再出去,也就是回去原本的unix shell
enter_shell = subprocess.Popen('newsh', shell=True)
exit_shell = subprocess.Popen('exit', shell=True, stdout=subprocess.PIPE)
out, _ = exit_shell.communicate()
print out
enter_shell成功進去newsh以後,exit_shell起不了作用。
試著在 command line 上面打'exit'可以結束newsh,而exit_shell這時候突然可以動了,
因為執行exit_shell又exit一次,但terminal並沒有被關閉,之後out才跟著被印出來
但我希望的是exit_shell的程序在newsh裡面執行,而不是等待newsh shell關閉以後才
接收這個指令,變成exit兩次,試了幾次都失敗,不知道要怎麼做QQ
有任何建議或其他作法都非常感謝~~~
謝謝大家!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.117.240
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1469295195.A.191.html
→
07/24 02:47, , 1F
07/24 02:47, 1F
推
07/24 02:47, , 2F
07/24 02:47, 2F
之前怕太刺眼,已經改顏色了
→
07/24 02:54, , 3F
07/24 02:54, 3F
→
07/24 02:55, , 4F
07/24 02:55, 4F
開另一個shell是為了要在enter_shell跟exit_shell中間做一些事情,
只是以為這樣的舉例會比較簡單易懂,它本身還有其他的設定,
其實newsh是一個小小的、只有shell的作業系統,
我知道process的問題出在哪裡,但是依然找不到解決方法可以讓python
在不同的shell裡面自由切換
※ 編輯: proX (114.36.117.240), 07/24/2016 20:51:04
※ 編輯: proX (114.36.117.240), 07/24/2016 20:58:33
※ 編輯: proX (114.36.117.240), 07/24/2016 20:59:28
推
07/24 21:19, , 5F
07/24 21:19, 5F
可否請您詳細說明程式碼哪裡有錯?
還是有任何可以達到這個目的的方法?
※ 編輯: proX (114.36.117.240), 07/25/2016 00:56:23
→
07/25 00:56, , 6F
07/25 00:56, 6F
→
07/25 00:57, , 7F
07/25 00:57, 7F
→
07/25 00:57, , 8F
07/25 00:57, 8F
→
07/25 00:58, , 9F
07/25 00:58, 9F
→
07/25 00:58, , 10F
07/25 00:58, 10F
→
07/25 00:59, , 11F
07/25 00:59, 11F
→
07/25 00:59, , 12F
07/25 00:59, 12F
→
07/25 01:02, , 13F
07/25 01:02, 13F
→
07/25 01:03, , 14F
07/25 01:03, 14F
→
07/25 01:03, , 15F
07/25 01:03, 15F
推
07/25 20:10, , 16F
07/25 20:10, 16F
討論串 (同標題文章)
Python 近期熱門文章
PTT數位生活區 即時熱門文章