如果有一个进程在后台运行,这个进程本来是可以接受键盘消息的,但是它现在在后台,只能查到进程 ID,怎样给他发键盘消息呢?
1
rim99 Mar 12, 2018 via iPhone
如果进程是用 bg 命令放在后台的 那就可以用 fg 命令召唤到前台
|
2
peinstrike Mar 12, 2018
|
3
iwtbauh Mar 13, 2018 via Android
没说清,如果是 GUI 程序,需要枚举窗口,并通过 XInternAtom 获取 PID 进行匹配,核心是调用
XSendEvent ( https://www.x.org/archive/X11R7.5/doc/man/man3/XSendEvent.3.html )函数模拟键盘事件 如果是 CLI 程序,无法给后台进程输入,这是 POSIX 规定的,后台进程读输入会产生 SIGTTIN 信号 如果想达到相同的要求,就不能用后台进程,伪终端( pty )了解一下 |