如何更改正在运行的进程';linux上从键盘到文件的stdin?

如何更改正在运行的进程';linux上从键盘到文件的stdin?,linux,process,stdin,Linux,Process,Stdin,我有一个在linux平台上运行的进程 我想将正在运行的进程的stdin更改为文件 然后我可以通过将某个内容写入文件来控制该过程 是否可以不更改流程的源代码 谢谢。如果您想更改正在运行的进程的文件描述符,可以使用gdb。试试这个: mkfifo /tmp/test_file gdb -p PROCESS_PID p close(0) p open("/tmp/test_file", 0400) echo "TEST" >> /tmp/test_file echo之后,按

我有一个在linux平台上运行的进程

我想将正在运行的进程的stdin更改为文件

然后我可以通过将某个内容写入文件来控制该过程

是否可以不更改流程的源代码


谢谢。

如果您想更改正在运行的进程的文件描述符,可以使用gdb。试试这个:

mkfifo /tmp/test_file

gdb -p PROCESS_PID
  p close(0) 
  p open("/tmp/test_file", 0400)

echo "TEST" >> /tmp/test_file

echo之后,按q关闭gdb调试器

这听起来像是一个更适合的问题,或者它似乎不是这里的编程问题。当你在这两个网站上发表文章时,你可能想提供更多关于我们讨论的过程的信息,等等。就目前情况而言,你的问题是不可能给出答案的。这是行不通的。在gdb回显第一个文本(如“TEST”)后,运行进程退出。