我正在Linux上编写多线程程序,希望在线程中创建一个进程,而不结束其他线程。我查看了fork/exec,但是在linux状态的第3p节中的exec手册页中:
A call to any exec function from a process with more than one thread
shall result in all threads being terminated and the new executable
image being loaded and executed. No destructor functions shall be
问题在主题中。让我解释一下“为什么”。我在Red Hat Enterprise Linux Server 7.7上运行我的应用程序。当我使用htop检查性能时,我发现很少有线程占用太多的CPU。我添加了一些调试日志,发现在我的代码中没有创建具有高CPU的线程。因此,我假设这些CPU贪婪线程是在我正在使用的第三方共享库中创建的。所以有一个问题:假设我有一个线程id (17405)。有没有办法找出是哪个共享库启动了这个线程?
如果这个问题太琐碎,我向您道歉--我不久前才开始使用Linux操作系统。
谢谢