exit()和exit_group()有什么区别?任何具有多个线程的进程都应该使用exit_group而不是exit?
回答“你为什么问这个问题”的问题 - 我们有一个大约有四十个线程的进程。当一个线程被锁定时,我们会自动退出进程,然后重新启动进程。并且我们会打印出被锁定的线程的回溯信息。我们想知道在这种情况下调用exit是否与exit_group有任何区别。
从文档中得知:此系统调用相当于exit(2),但它不仅终止调用线程,还终止调用进程的所有线程组中的所有线程
- 然而,退出进程和退出所有线程之间有什么区别。难道退出进程就等于退出所有线程吗?
strace
实验),exit(3) 使用exit_group
。 - Basile Starynkevitchexit
调用了exit_group
系统调用。exit
系统调用仅退出调用进程(在内核中,进程是一个线程)。 - Kerrek SB