在下面的文本中,“write”一词指的是 unix write 命令,它将消息写入另一个用户的 tty。
我有一个正在运行的服务(在 inetd 中,但这无关紧要),它需要通知任意用户。直到现在我都尝试用 subprocess 调用 write 命令。但这并不总是有效,并且在某些机器上会导致错误消息,例如:
write: you are uid 65534, but your login is as uid 1000
(请注意,该服务是以无人身份运行的。)终端的写权限是用mesg打开的。因此,我查看了 inetutils-talkd(GNU 实现),它也是如此。我看到它使用了 ttymsg 函数,并相信这个函数做了我想要的,但我认为这个函数对 python 不可用。
所以主要的问题是:在 python 中是否有类似 ttymsg 函数的东西,或者我怎样才能写来做我想做的事?