2016-02-16 5 views
1

Мне нужно знать, есть ли поток с указанным идентификатором потока. Вероятно, я могу посмотреть на все потоки процесса и посмотреть, существует ли он, или получить список потоков с помощью команды ps и попытаться найти поток в выводах, но нет ли более простого способа?Bash: простой способ узнать, есть ли поток с указанным идентификатором потока?

+0

Вы можете иметь вид [здесь] (http://superuser.com/questions/632979/if-i-know-the-pid-number-of-a-process-how-can-i-get-its-name) – sjsam

+0

Я имею в виду поток, а не процесс – user1289

+0

Разбираем вывод 'ps -eLf '. Источник: https://superuser.com/questions/80556/how-do-you-view-all-threads-running-on-linux – neuhaus

ответ

1

Я предполагаю, что вы находитесь в Linux?

Если вы знаете идентификатор процесса, вы можете использовать файловую систему proc, чтобы выяснить, существует ли определенный поток или нет.

Пример:

Идентификатор процесса $ PID 14456

ID потока $ TID 14465

Если каталог /proc/$PID/task/$TID существует, нить работает.

Если вы не знаете идентификатор процесса вы можете позволить скорлупе сделать подстановку для вас:

if [ -d /proc/*/task/$TID ]; then echo found; fi 
+0

Отлично! Я знал о '/ proc', но не о'/proc//task', спасибо. – user1289

 Смежные вопросы

  • Нет связанных вопросов^_^