Как сказал в своем комментарии Бармар, это невозможно. Система забывает всю информацию о процессах, как только они заканчиваются.
Но, конечно, ваши процессы могут быть выполнены, чтобы помочь вам узнать больше. В случае, если вы можете модифицировать рассматриваемые процессы, вы можете позволить им регистрировать свой PID в специальном месте, где вы можете посмотреть позже, какой PID принадлежал один раз, в какой процесс.
Это не будет работать для программ, которые вы не можете изменить. В этих случаях все еще возможно разместить обертку вокруг них, которая сначала регистрирует PID, а затем exec
s в желаемую программу.
#!/bin/bash
echo "$$: $*" >> /home/alfe/var/pid.log
exec "[email protected]"
В случае, если вы не являетесь начальником рассматриваемой программы и не можете изменить ее, вы не в курсе.
Вы можете найти название процессов, которые все еще существуют. Но если он завершился, и его родитель вызвал 'wait()', чтобы потрогать его, он больше не существует и вы не можете узнать его имя. – Barmar