我想我不清楚getty/agetty/mgetty程序在linux/unix机器上的功能是什么。我可以用这样的东西来启动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。shell知道TTY设置不正确,因为bash会说“无法打开TTY,作业控制被禁用”
我知道'termios'模块有更改TTY设置的函数,这是'TTY'模块使用的,但是我找不到python正确设置TTY并启动shell的示例。我觉得应该很简单,但我不知道该去哪里找。在
查看*etty程序的源代码对我没有帮助-C在我看来像希腊语:-/
也许我只是在找不到合适的条件?有没有人在过去用Python替换了*etty程序,并且有什么解释他们愿意分享的?在
感谢您回答我的基本问题:)