идентификатор / идентификатор процесса анализа из / proc, идентификаторы потоков

Когда я обрабатываю идентификаторы процессов из / proc, очевидно, что каждый поток процесса получает свой собственный идентификатор. И я понимаю, что все потоки в том же процессе могут быть собраны из /proc/${pid}/task/ .

Но мой вопрос: могу ли я предположить, что первый идентификатор в списке (самый низкий номер один?) Является основным потоком процесса?

Цель, которую я в конечном счете пытаюсь сделать, – написать быстрый скрипт ps в python без использования подпроцесса или вызова оболочки.

  • Установить путь для всех пользователей (оболочки для входа и без входа)
  • Поиск того, какой конкретный процесс Python был убит убийцей Linux OOM
  • Судоподобная память паролей для собственных скриптов
  • Инструменты для перетаскивания glade gtk
  • Почему denyhosts не запрещает * некоторые * грубые силы root SSH попытки входа?
  • Преобразование SVG в PDF в python
  • Как я могу создать скрипт bash, который определяет, запущена ли программа?
  • Crontab не дает результата
  • One Solution collect form web for “идентификатор / идентификатор процесса анализа из / proc, идентификаторы потоков”

    Вы не можете предположить, что идентификаторы процессов (и идентификаторы потоков) могут быть повторно использованы, поэтому заказ не гарантируется. (Это маловероятно для недавно загруженной 64-битной системы, но вы увидите ее на машинах с большими перерывами).

    Вы можете получить идентификатор группы потоков (который является идентификатором процесса) из /proc/${id}/status . Это в строке Tgid: nnnnn .

    Пример:

     $ cat /proc/8288/status Name: vlc State: S (sleeping) Tgid: 8281 // main vlc process id Pid: 8288 // thread id 
    Linux и Unix - лучшая ОС в мире.