Какие флаги команды «ps» относятся к формату флагов Unix, а какие — к формату флагов BSD?

Какие флаги команды «ps» относятся к формату флагов Unix, а какие — к формату флагов BSD?

Команда psможет принимать флаги в двух форматах:

  • Формат Unix, в котором перед флагами следует ставить дефис.
  • Формат BSD, в котором не следует ставить дефис перед флагами.

Я просмотрелстраница руководствадля psкоманды, чтобы увидеть, какие флаги относятся к формату флагов Unix, а какие — к формату флагов BSD, но я ничего не нашел.


Редактировать:это не дубликат, в другом вопросе я спрашиваю, различаются ли флаги для формата флагов Unix и BSD, тогда как в этом вопросе я спрашиваю, каковы флаги для формата флагов Unix и каковы флаги для формата флагов BSD.

решение1

Theстраница руководстване группирует опции по стилю, а группирует их по функции. Вы можете различить стиль, посмотрев на то, как представлены опции:

  • Параметры BSD перечислены без начального дефиса ( a, g, T, r, x...);
  • Параметры POSIX перечислены с одним начальным дефисом ( -A, -a, -d, -e, -N...);
  • Длинные параметры GNU перечислены с двумя дефисами в начале ( --deselect...).

Как предлагает Кусалананда, хорошей идеей будет просто использовать параметры POSIX и обращаться к другим параметрам только тогда, когда вам нужно понять, как кто-то другой использует ps.

решение2

Стандарт POSIXописывает psутилитусо следующим синопсисом:

ps [-aA] [-defl] [-g grouplist] [-G grouplist]
   [-n namelist] [-o format]... [-p proclist] [-t termlist]
   [-u userlist] [-U userlist]

Поскольку, очевидно, существует некоторая путаница вокруг «параметров UNIX» и «параметров BSD» для ps, и поскольку ни одна из OpenBSD, NetBSD, FreeBSD и macOS даже не перечисляет «параметры BSD» (флаги без тире) в своих руководствах для ps, может быть, лучше забыть о них и рассматривать их как часть закрытой главы в истории UNIX?

В разделе «Обоснование POSIX» psговорится о наличии несовместимости между Unix-системами на базе System V и Unix-системами на базе BSD в отношении реализации ps(и обоснования стандартизации флагов таким образом, как это было сделано), но в нем ни разу не упоминаются флаги без тире.

Для справки:

решение3

PS поддерживает три (3) типа стилей синтаксиса использования:

  • в стиле UNIX, которые могут быть сгруппированы и должны начинаться с тире, напримерps -aux
  • Стиль BSD, который может быть сгруппирован и не должен использоваться с тире, напримерps aux
  • Длинные параметры GNU, которым предшествуют два тире, напримерps --aux

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