Разница между ps -aux и ps aux [дубликат]

На этот вопрос уже есть ответ здесь:

В чем разница между ps -aux и ps aux ? Интересно, что это больше, чем просто вопрос синтаксиса и «переносимости». Какой из них лучше использовать в Ubuntu?

Несмотря на некоторые похожие вопросы, меня интересует именно это различие.

12
задан 4 April 2018 в 16:00

1 ответ

BSD и AT&T разработали несовместимые версии ps. Опции без ведущего тире являются стилем BSD, в то время как те, которые имеют ведущего тире, являются стилем Unix AT&T.

Страница справочника PS говорит следующее также:

Обратите внимание, что "PS-aux" отличен от "PS aux". POSIX и стандарты UNIX требуют, чтобы "PS-aux" распечатал все процессы, принадлежавшие названному "x" пользователя, а также печатающий все процессы, которые будут выбраны-a опцией. Если названный "x" пользователя не существует, этот "PS" может интерпретировать команду как "PS aux" вместо этого и распечатать предупреждение. Это поведение предназначается для помощи в переходящих старых сценариях и привычках. Это хрупко согласно изменению и таким образом не должно быть положено.

Linux решил поддерживать обоих. ps -au{user} будет ошибка при обеспечении несуществующего пользователя. См.:

$ ps -autest
error: user name does not exist

Usage:
 ps [options]

 Try 'ps --help <simple|list|output|threads|misc|all>'
  or 'ps --help <s|l|o|t|m|a>'
 for additional help text.

For more details see ps(1).

Ubuntu / Канонический решила показать ошибку. Debian решил дать тот же вывод обоим ps -aux и ps aux. В целом, довольно сбивающий с толку. Но, как указано: это должно сделать сценарии совместимыми. И можно использовать то, чем Вы чувствуете себя довольными.

19
ответ дан 23 November 2019 в 03:35

Другие вопросы по тегам:

Похожие вопросы: