# Tag creation: [subprocess-management] or similar

While looking at Is it a good style to run external commands in Python?, I was surprised to find that there is currently no tag for [subprocess-management]. I also checked for likely synonyms such as [process], [fork], [exec], [spawn], [pipe], all with no luck. There are plenty of other questions that could use a tag of that nature.

I think that [subprocess-management] would be the best term to encompass all of the above, but am open to other suggestions.

There is also no [ipc] or [inter-process-communication] tag. Perhaps [ipc] deserves to have a tag separate from [subprocess-management].

To get this conversation started, I'm posting my proposals as answers below. Either vote on them if you concur, or post your own answers as counterproposals.

I favour the creation of a [child-process] tag, for example because that's how they're described in the Wikipedia Fork-exec article.

I favour the creation of an [ipc] tag.

Since there seems to be sufficient agreement that inter-process communication could use a tag, I've gone ahead and created . Let's consider this part of the question and focus on deciding on a name for the more general tag for subprocess management.

• IPC is probably an abbreviation which not many people are used to. Therefore, I don't think it would be a good tag. Perhaps it can be labeled something else? – Simon Forsberg Feb 18 '14 at 9:06
• I think IPC is a good tag. @SimonAndréForsberg: I just did a google search. It was the third result, so I think it would be easy for people to find. – jliv902 Feb 18 '14 at 19:02
• Very well then, perhaps it's just me that haven't heard about it before :) – Simon Forsberg Feb 18 '14 at 19:04
• @SimonAndréForsberg IPC isn't only used for coordinating child processes; more generally it includes memory-mapped files, sockets, named mutexes, etc. – ChrisW Feb 18 '14 at 19:15
• I think IPC is both too broad, and perhaps too narrow. IPC is a lot more than running a child process. It is signals, shared memory segments, pipes, buffers, fifos, sockets, etc. IPC happens between processes, whether those processes are child processes, or completely unrelated. It is an orthogonal concept – rolfl Feb 18 '14 at 21:18
• Second comment... IPC is also very *NIXy ... whereas child processes is common on all platforms.... – rolfl Feb 18 '14 at 21:20
• @rolfl "IPC" is also used in Windows/MSDN documentation, e.g. here. – ChrisW Feb 19 '14 at 17:26
• @ChrisW That may be true... that *NIXy argument is weak.... ;-) The point is that IPC and chid-processes are orthoganal. – rolfl Feb 19 '14 at 17:28

I favour the creation of a [subprocess-management] tag.

• I don't like naming the tag like this, because the term “subprocess” seems to be used only in some languages. For example the SO tag [subprocess] seems to be specifically about Python. Also, I think the -management part doesn't add anything. Because of that, I would prefer a [process] tag and possibly some of the other terms as separate tags (not synonyms). – svick Feb 18 '14 at 11:19

I think that a [multiprocess] tag would work, as it resembles multithreading, a term that many programmers are familiar with.

Additionally, the tag might be broad enough to cover the IPC as well as spawning / reaping issues.

I favour the creation of an [inter-process-communication] tag, because [ipc] is too cryptic.

• “The tag 'inter-process-communication' is too long; the maximum length is 25 characters.” – svick Feb 18 '14 at 11:21