分清两个概念
主线程和当前进程的关系:当前进程由主线程和若干个子线程组成。
若当前进程退出后,子线程也会跟着一起退出;若只是主线程退出,仍要分两种情况分析:实际上主线程退出后子线程的状态依赖于它所在的进程,如果进程没有退出的话子线程依然正常运转。如果进程退出了,那么它所有的线程都会退出,所以子线程也就退出了。
查看进程、线程方式
进程:
ps -elf | grep "对应的文本内容"
ps aux ——查看运行的进程
线程:
ps -T -p 进程号
top -H -p 进程号(sspid对应的为线程号)
Linux下获取当前线程ID号函数:
pthread_t pthread_self();
1、若主进程、主线程和子线程都未挂时
2、若主进程退出,主线程和子线程未进行操作,则:
3、若主进程不退出,主线程退出(被杀死),子线程未操作,则
结论:
子线程的清理只与当前进程是否被销毁有关,跟主线程销毁无关。