Linux 从Bash中的PID获取tid列表

Linux 从Bash中的PID获取tid列表,linux,bash,pid,unix,Linux,Bash,Pid,Unix,有时,我想以TID(线程标识符)的存在为条件,以便可以看到它何时完成。例如,假设我用nautilus制作了一个大文件副本。然后我意识到这将需要3个小时(假设我意识到太晚了,我不想取消并从CL中完成)。我想告诉我的电脑在Nautilus完成拷贝后关机。如果有大的I/O(当然文件副本中也会有),我可以使用iotop,这很好地为我提供了TID。我怎样才能在TID整理的条件下?另外,假设一个线程没有执行很多I/O操作,我如何才能得到它的TID?我知道如何获取PID(例如,ps或cat/proc//sta

有时,我想以TID(线程标识符)的存在为条件,以便可以看到它何时完成。例如,假设我用nautilus制作了一个大文件副本。然后我意识到这将需要3个小时(假设我意识到太晚了,我不想取消并从CL中完成)。我想告诉我的电脑在Nautilus完成拷贝后关机。如果有大的I/O(当然文件副本中也会有),我可以使用iotop,这很好地为我提供了TID。我怎样才能在TID整理的条件下?另外,假设一个线程没有执行很多I/O操作,我如何才能得到它的TID?我知道如何获取PID(例如,
ps
cat/proc//status
),当只有一个线程时,TID与PID相同,但如果有多个线程呢

以下是我对PID的条件所做的操作:

while ps aux | grep [2]9228 > /dev/null; do sleep 20s; done; echo "Process Finished"
我认为这个问题是具体的,而不是一般性的


/proc//task/
包含一个目录列表,每个目录对应给定进程中的每个线程。

您也可以使用
ps
获取TID

脚本友好命令(仅TID,每行一个,无标题行):

ps-L--pid-o tid=
或者,更详细地说:

ps -L --pid <PID> -O tid
ps-L--pid-O tid

您正在谈论的是
/proc
-
linux
标记是否比
unix
标记更合适?@digitaltrampion您是对的。我认为proc也存在于Unix上。它不是POSIX?@XuWang:举个例子:OSX(达尔文)被认为是POSIX兼容的(根据),但没有
/proc
@XuWang-我不认为它是POSIX的东西,尽管我没有引用它。有一个具有/proc-几种unix风格的常见操作系统列表,但正如mklement0所指出的,OSX并不存在。
ps -L --pid <PID> -O tid