要求正在运行的bash(交互式)从外部运行命令

z9p*_*z9p 4 unix bash shell

我有一个运行bash的终端(xterm)打开,显示提示。假设我知道此运行的bash的pid和与该终端相关联的tty。有什么办法,根本不触摸此终端,而仅使用tty和pid信息,要求运行此bash来运行命令?天真地回显“命令”> tty只会在终端中显示该命令,但bash不会将其作为用户输入接收。

n. *_* m. 5

使用一个TIOCSTIioctl。在C中的示例:

char* cmd="ls\n";
int fd = open (ptsname, O_RDWR);

while (*cmd)
{
    ioctl(fd, TIOCSTI, cmd++);
}
Run Code Online (Sandbox Code Playgroud)