Спецификация Solaris ps aux comand. Почему для grep необходимо использовать параметр ww?

Я начинаю использовать Oracle Solaris 11.2 SPARC.

В Linux я могу написать

ps aux | grep *some_data* 

Но не показывает никакого результата в Solaris.

Вместо этого мне нужно сказать

 ps auxww | grep *some_data* 

Я посмотрел на man ps чтобы узнать больше о ww

Если письмо с опцией повторяется, то есть -ww, эта опция использует произвольно широкий вывод

Почему мне нужно использовать ww чтобы получить что-нибудь, чтобы grep ?

В Linux команда ps определяет, является ли вывод терминалом или нет. Если это к терминалу, то он усекает вывод к ширине терминала. Если он не находится на терминале, он не усекает. Эффективно он ведет себя так, как будто он автоматически добавляет флагов ww .

Вы можете увидеть разницу, набрав ps aux и ps aux | cat ps aux | cat

В вашем примере вы передаете вывод в grep и поэтому он действует так, как будто вы ввели ps auxww | grep ps auxww | grep .

Для переносимости вы всегда должны использовать флагов ww если хотите видеть все данные за пределами (скажем) 80 символов.

Примечание: вы используете BSD-форму команды ps , поэтому на Solaris убедитесь, что вы вызываете правильный!

Вы используете нестандартные опции BSD, будь то в Linux или Solaris.

Портативный способ – использовать опцию -o для указания полей, которые вы хотите отобразить, здесь, например, ps -o pid,args . Обратите внимание, что если вы не используете последнее обновление 11.3 или новее, список аргументов будет ограничен 80 символами, если вы не являетесь root или не владеете процессом.

Кроме того, вы можете использовать pgrep -f который будет искать полную командную строку.