我想我不清楚getty/agetty/mgetty程序在linux/unix機器上的功能是什麼。我可以開始一個tty殼像這樣的東西:Python TTY控制
TTY = '/dev/tty3'
cpid = os.fork()
if cpid == 0:
os.closerange(0, 4)
sys.stdin = open(TTY, 'r')
sys.stdout = open(TTY, 'w')
sys.stderr = open(TTY, 'w')
os.execv(('/bin/bash',), ('bash',))
..和如果我切換到tty3上,有一個shell運行 - 但有些按鍵被忽略/永遠不會被髮送到外殼。 shell知道TTY設置不正確,因爲bash會說'無法打開tty,禁止作業控制'
我知道'termios'模塊具有更改TTY上的設置的功能,這就是'tty'模塊使用,但我無法找到正確設置TTY並啓動shell的python示例。我覺得它應該是簡單的,但我不知道在哪裏看。
查看源爲* etty方案沒有幫助我 - C相類似希臘給我: -/
也許我只是沒有尋找合適的條款?任何人在過去都用Python取代了* etty程序,並有他們願意分享的解釋?
感謝我的應酬基本問題:)
os.setsid()只需要它!我知道這一定很容易。謝謝。 – tMC 2011-05-06 01:38:48