Intereting Posts

Как получить UID и PID

Итак, вот что я хочу сделать: Пользователь вводит имя пользователя USERNAME. Основываясь на этом имени пользователя, мне нужно получить список процессов, запущенных этим пользователем. Я планирую сделать это, получив UID этого пользователя и перечислив все процессы с этим UID. Я нашел только UID в файле /proc/$PID/status . Я не понимаю, как это сделать.

Чтобы получить UID от имени пользователя, используйте id -u :

 $ id -u root 0 $ id -u lightdm 112 $ id -u nobody 65534 

Но вы изобретаете колесо. pgrep уже обрабатывает это просто отлично:

 $ pgrep -u www-data 1909 1910 1911 1912 $ id -u www-data 33 $ pgrep -u 33 1909 1910 1911 1912 

Вы также можете использовать plain ps :

 $ ps -U www-data -o uid,pid UID PID 33 1909 33 1910 33 1911 33 1912