дальнейшее чтение

дальнейшее чтение

В чем разница между процессами, перечисленными psи ps -A?

решение1

без -A, ps выведет только процессы, принадлежащие текущему сеансу. Думайте об этом как о "абсолютно всем". Попутно -aделает то же самое, но ограничивает его владельцем сеанса (имя пользователя).

решение2

Команда GNU psстрадает от тяжелого случая множественного расстройства личности. Поэтому неудивительно, что ее страница руководства запутана. Возможно, поможет просмотр руководств BSD. В конце концов, этот вопросявляетсяпомечено.

Работа BSD psдовольно проста, если учитывать два момента:

  • Процессы выбираются для отображения с помощью двух основных фильтров. Эти фильтрынапо умолчанию и параметры командной строки включают ихвыключенный. Таким образом, простота без украшений psфильтруется через оба.
  • Синтаксис BSD уходит далеко в прошлое. Хотя современные BSD используют getoptи соглашение об опциях, предваряемых знаком минус, опции и поведение, имеющие отношение к этому, во многом такие же, как и 30 лет назад.

Это поведение следующее:

  • ( -aИсторически a) вариантвыключаетвсе фильтры «селектора».
    • Различные другие параметры командной строки определяют селекторы: -Uвыбор по UID, -tпо имени управляющего терминала, -pвыбор по ID процесса и т. д. Все это обходит -a.
    • Если селекторы явно не указаны,селектор по умолчаниюотображать только процессы, запущенные с тем же эффективным UID, что и у пользователя, вызвавшего ps. Этот селектор по умолчанию является историческим фильтром, который эта опция отключает.
  • ( -xИсторически x) вариантвыключаетограничение, psотображающее только те процессы, которые имеют управляющий терминал.

Исторически BSD psне имела такой Aопции. Но современные BSD реализуют -Aопцию, также используемую как A, для (степени) совместимости с (более поздней) Единой спецификацией UNIX. -Aэто то же самое, что использовать -aи -x: она отключает оба ограничения, оставляя одно со всеми процессами, неотфильтрованным.

OpenBSD и NetBSD документируют эту -Aопцию, в случае NetBSD явно как -a -x. FreeBSD этого не делает, но комментарий в исходном коде гласит, что она присутствует как намеренно недокументированная опция совместимости с SUSv5.

дальнейшее чтение

  • ps1983-04-13. Страницы руководства 4.2BSD.
  • psСтраницы руководства OpenBSD.
  • ps22 октября 2009 г. Страницы руководства NetBSD.
  • ps07.08.2014 г. Страницы руководства FreeBSD.

Связанный контент