什么将解释器实例与特定会话联系起来?例如,终端实例的具体内容是什么,使得命令jobs
只显示该解释器实例中的作业?(例如当您打开另一个终端时?)如何让jobs
shell 脚本中的命令显示其父 shell 中的所有作业?
答案1
是什么使得像命令这样的
jobs
只显示解释器实例中的作业?
jobs
显示 shell(特定 shell 进程)已启动的作业。shell 会跟踪它启动的命令,然后给出数字(工作编号) 并了解子进程的状态,因为当子进程退出时,父进程会收到通知。
该 shell 不知道其他 shell 实例或其他程序启动的进程。
如何
jobs
在 shell 脚本中获取命令来显示其父 shell 中的所有作业?
你不知道。
当然,您可以浏览中的数据/proc
或输出来ps
查找父进程的子进程,但没有直接的方法让进程了解它们的兄弟进程。更不用说了解它们之间的关系了,例如哪些是同一管道的一部分。