Сценарий, чтобы взять pid, дать имя cmd, сетевые подключения, дерево процессов, родительский / дедушка / ребенок

Хорошо, итак

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

Мне не нужен ответ на этот вопрос, но я хочу получить некоторые рекомендации о том, как наилучшим образом я могу настроить себя на правильном курсе, чтобы закончить это.

Это то, с чего я начал:

#!/bin/bash #get pid from user PID=$1 #echo pid and find a way to describe process to user echo $PID #whatever it is = #whatever the command name is #network portion sudo netstat -p grep $PID #this return information related to the process itself ps -ef f|egrep "(UID|$PID)" 

Последняя строка кода, по крайней мере, вернет мне что-то ценное: я могу получить некоторую информацию, связанную с процессом, древовидную иерархию, ect ect.

Я не обладаю большим количеством технических знаний, поэтому понимаю, что этот код просто выглядит ужасно / непригодным для этого задания. Если мне нужно начать с нуля и придумать разные идеи, я это сделаю. Любая помощь или руководство будут с благодарностью оценены.

One Solution collect form web for “Сценарий, чтобы взять pid, дать имя cmd, сетевые подключения, дерево процессов, родительский / дедушка / ребенок”

Вы можете получить PID родительского процесса следующим образом:

 PID=1234 ps -o ppid --no-headers -p "$PID" 

или с

 awk '/^PPid:/ { print $2 }' /proc/$PID/status 

Вы вводите его в переменную с

 PPID="$(awk '/^PPid:/ { print $2 }' /proc/$PID/status)" 
  • Как показать список процессов из группы?
  • Являются ли состояния процессов, которые готовы и планируют ждать «S»?
  • Можно ли скопировать приостановленный процесс?
  • Найдите каталог из относительного пути в выводе ps
  • В чем разница между pidof и pgrep?
  • Что означают скобки в выводе pstree?
  • PID в верхней отличается от $$ one?
  • Почему процесс tee все еще работает?
  • Что определяет, может ли исполняемый файл запускаться в разных независимых процессах одновременно?
  • Запустить независимый процесс
  • Проверьте, оставил ли процесс оставшихся сирот
  • Interesting Posts

    pacman-key -init занимает слишком много времени и не выходит

    Невозможно отключить SSLv3 в Apache + mod_nss

    Можно ли обмениваться файлами между двумя разными os на одном компьютере?

    Виртуализировать Windows в Fedora и позволить Windows видеть реальное оборудование

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

    наибольшее возможное количество для sort -n

    Запустить сценарий и не потерять доступ к подсказке / терминалу

    Как я могу просто получить доступ к полезной нагрузке пакета и изменить его?

    Openssl: невозможно загрузить сертификат с измененным портом

    Как смонтировать съемный носитель в / media / <LABEL> автоматически при вставке без какой-либо среды рабочего стола?

    Параметры модуля ядра vs / sys / class / … объяснение

    Как найти файлы с длинной первой строкой?

    Виртуальная машина ARM на Ubuntu

    Как направить трафик из Ethernet на устройство Tun (создать порт Ethernet с VPN-соединением)

    Лучше, чем `tee | разрезать | … | paste`

    Linux и Unix - лучшая ОС в мире.