后台进程可以在同一个shell中启动前台进程吗?
问题描述:
- 前台进程 - 我们称这个过程为
Main()
- 在xterm运行启动一个后台进程Monitor()
- 通过数据库,可以为
Monitor()
检测远程中断杀Main()
- 在以后某个时候,数据库可以指示
Monitor()
重振Main()
使用不同的参数
个约束条件是:
-
Main()
必须始终在前台运行,并 - 启动一个新的xterm推出
Main()
不允许
的问题的话,就是:可以在后台进程在同一个xterm/shell中启动一个新的前台进程?
TCSH是优选的,但Bash也是可以接受的。
答
正如乔纳森提到的(并且我已经独立验证过),如果没有在后台运行单独的观察器进程/守护程序,则无法执行此操作。
就我理解您要做的事情而言,我认为在后台进程中启动使用xterm运行在xterm中的shell知道的进程的过程是不可行的。你可能能够使用shell不知道的xterm来运行一个进程,但是然后你遇到了协调问题 - shell和进程都在试图读终端,谁知道哪个字节是干什么的键入终端。 – 2014-10-29 14:13:48
感谢您的回应,乔纳森。在与当地的UNIX专家核对之后,您的共识如您所说:没有办法做到这一点。 – 2014-11-10 23:37:21