И в Linux, и в MacOS мы можем получить информацию о PID и времени запуска с помощью bash ps -p PID_HERE -o lstart=
:.
Я собирался использовать lstat
и планировал это. Но просто из любопытства:
Программно ps
должно использоваться, C
верно? И в моем случае использование функций C намного быстрее, так как мне не нужно использовать popen
для открытия и чтения.
В MacOSX/Darwin, по-видимому, используется нечто под названием , proc_pidinfo
и в теме на SO рассказывается, как это сделать:Определение информации о процессе программным способом в Darwin/OSX
А как же в Linux? Для нас я такого не нашел proc_pidinfo
.
Спасибо!
решение1
В соответствии с несколько ответына stackoverflow, ps
используетфайловая система procчерезlibprocдля сбора информации о процессе. Похоже, что это предпочтительный способ сделать это, поэтому я думаю, lstat(2)
что это правильный способ™ узнать время начала процесса.