gpt4 book ai didi

我可以从 c 程序与打开的 vt 交互吗?

转载 作者:太空宇宙 更新时间:2023-11-04 11:04:26 25 4
gpt4 key购买 nike

假设我有一个状态机以 root 身份启动,以在给定的保留 vt 中运行一个且仅一个程序。我使用的第一个电话是这样的:

execl("/usr/bin/openvt", "/usr/bin/openvt", "-c 12", "-f", "-- su auser /home/auser/sbin/ascript.sh", (char *) 0); 

是找到所有子项(shell 脚本、调用等)的 PI​​D 的唯一方法,以搜索 ps aux 以查找在该 vt (tty12) 上生成的 PID 并杀死它们,因为 fork 只会保存 openvt 命令的 PID,该命令在新 vt 打开后几乎消失了?或者是否有一种巧妙的方法可以将 SIGINT 发送到已知的 vt(即/dev/vcs12 dev/tty12)?

最佳答案

ps 的 -t tty 选项可能就是您正在寻找的...

kill -INT `ps -t vcs12 -o pid=`

或者,以特定于 sh/bash 的方式:

kill -INT $(ps -t vcs12 -o pid=)

关于我可以从 c 程序与打开的 vt 交互吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25809878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com