如果您使用fork()创建新进程,则可以将一个局部变量初始设置为零,每个子项在分叉后立即设置为1.在fork之后,只有root进程仍然将它设置为零.
您甚至可以在每个fork之后增加它,这可以让您知道每个进程在您的进程树中有多深.
编辑:
如果你不能使用它(例如因为你做了一个exec()后叉),你可以使用shell用来将信息传递给你启动的程序的任何常用方法:
环境变量:调用setenv()之后fork()但之前调用exec()- 或者在调用时将其添加到环境中exec().
使用特殊的命令行参数.
argv[0]这样做时使用特殊值exec().