进程内的线程ID

时间:2015-03-13 06:17:53

标签: linux multithreading pthreads

我有一个正在运行的进程,我必须使用pthread在进程内创建一个线程:

样本 -

Process is Running having some PID
I have created a thread using "pthread_create"
  1. 现在我有一个进程和一个在该进程内运行的线程。
  2. 然后我正在使用该进程终止PID kill -9 PID命令
  3. 我的问题是:

    1. 通过杀死父进程,我的线程也会被杀死,如果是,那么清理将如何进行?
    2. 我可以使用“pthread_create”创建命名线程吗?
    3. 我如何验证我创建的线程是否在侧面进程中运行。 (可能在linux shell上使用父PI​​D或进程名称)
    4. 最后一个如何将我的新线程与我的进程同步 例子我知道pthread_join,detach和其他pthread API所以在我的情况下我需要使用它。

2 个答案:

答案 0 :(得分:1)

调用pthread_create()后,您没有进程和线程,只有进程和两个线程。关于你的问题:

  1. 线程是流程的一部分。当最后一个线程退出时,该过程也会退出,因为没有另一个线程就没有意义。
  2. RTFM。
  3. 通常,您检查函数的返回值以确定成功或失败。你还想在这里验证什么?你怎么说出差异?
  4. 请阅读有关pthreads或POSIX线程的教程或书籍。您在询问用于同步的功能,但您似乎不知道这意味着什么。

答案 1 :(得分:0)

对于问题3:也许你可以使用pstree