1

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

xlsclients

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

ps aux -u *username*

Это дает процессы пользователю, но также включает все системные задачи, такие как:

/sbin/getty -8 38400 tty4
/usr/sbin/gpm -m /dev/input/mice -t exps2 

и т.п.

Поэтому я хочу перечислить задачи, выполняемые пользователем, но исключая системные.

1 ответ1

1

Если вы хотите не сиротские процессы:

  • pgrep -u "$USER" печатает PID, запущенные текущим пользователем
  • pgrep -u "$USER" -P 1 печатает потерянные PID, запущенные текущим пользователем

Сочетая их, вы можете получить не-сиротские PID, запущенные текущим пользователем:

pgrep -u "$USER" | grep -Fvx "$(pgrep -u "$USER" -P 1)"

Вы можете передать полученный список в ps , top или другие программы, чтобы получить подробную информацию о каждом процессе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .