TIOCSTI是一个ioctl(在中进行了记录
tty_ioctl(4)),而不是终端设置,因此您不能使用
tcsetattr()-您需要将伪输入的每个字符输入
ioctl()。以前从未需要从Python进行过ioctl *** 作,但是以下 *** 作似乎可以
ls在运行Bash
的其他终端(指定为参数,例如 / dev / pts / 13 )中运行:
import fcntlimport sysimport termioswith open(sys.argv[1], 'w') as fd: for c in "lsn": fcntl.ioctl(fd, termios.TIOCSTI, c)
TIOCSTI``CAP_SYS_ADMIN顺便要求root特权(或更具体地讲,但实际上通常是相同的)-请参阅
capabilities(7)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)