37得票6回答
如何设置一个 shell 脚本的进程组

如何设置shell脚本的进程组?我希望所有子进程都在同一进程组中。 我期望类似于C语言中的setpgid()。

25得票1回答
孤立进程组中的交互式shell应该做什么?

简短的问题是,如果shell处于一个孤儿进程组中并且没有拥有tty,它应该怎么办?但我建议读一下长问题,因为它很有趣。 以下是一种有趣而令人兴奋的方法,可以使用你喜欢的 shell(除非你是那些奇怪的 tcsh 用户之一)将笔记本电脑变成便携式加热器:#include <unistd....

21得票1回答
PID、PPID、SID、PGID、UID、EUID 这些标识符代表什么意思?它们与编程有关。

我被分配了一个任务: 编写一个C程序,打印出以下标识符PID、PPID、SID、PGID、UID、EUID。 然后这个任务要求: 每个标识符代表什么? 我已经完成了程序,但是对于这些标识符的解释还不够充分。 它们到底代表什么意思? 特别是SID和PGID标识符的目的是什么?

10得票3回答
如何在自己的进程组中启动一个进程?

我想启动一个进程组(或者在启动后更改其组),并且: 使组中的进程能够响应终端上的Ctrl + C 获取进程组的ID,以便可以通过kill命令终止组中的所有进程。 注意:我尝试了setsid prog [args],但是进程无法响应来自终端的Ctrl+C,并且我无法获取新进程组ID。 ...

10得票2回答
Linux允许将进程组ID重新分配给进程吗?

假设进程组长的 pid 为 X 并且 X 终止了,但是进程组中的其他进程仍在运行(以 X 作为他们的 pgid)。那么 Linux 是否会防止将值 X 分配为新进程的 pid? 我提出这个问题是因为 POSIX 中允许 setsid 失败的条件: [EPERM]调用进程已经是进程组长...

7得票3回答
将进程发送到后台并返回控制权给我的shell

我正在为我的CS课程编写一个shell,其中项目的一部分涉及如果用户传入'&'字符,则在后台运行进程。 如果在前台运行进程,我只需要execvp该进程并将其保留在终端控制下,因为它是在前台。但是,如果它是后台进程,则必须在启动进程的执行后将控制权返回到我的主shell。我知道系统调用...