Это одна вещь (оказавшаяся из-за задержки) смотри также:
$ ps ax | grep novalidname
Здесь обычно показывает, как хорошо. (На Ubuntu делает для меня. (Под Баш)
Другая вещь, что/бен/ш связан с?
На большинстве Linux дистрибутивов/бен/ш представляет собой мягкую ссылку по умолчанию оболочку, которая, как правило, на самом деле bash, но может быть любой другой оболочкой.
Разница во времени, которая вызывает отображение grep/pgrep, может быть введена путем поиска местоположения мягкой ссылки (hm, odd) или некоторой другой оболочки, связанной с/bin/sh который выполняется немного иначе, чем bash, что вызывает задержку, необходимую для процесса для отображения в pgrep.
Кроме того, bash сначала попытается использовать источник ~/.bash rc и загрузить его историю, в то время как/bin/sh будет делать то, что будет делать. В .bashrc может быть pgrep определен как псевдоним другим способом, который также может повлиять на разницу.
Чтобы увидеть, где/бен/ш точки, чтобы сделать:
$ readlink -e /bin/sh
Или просто запустить ш, чтобы посмотреть, что будет отображаться. : D
Да, кажется, так .. Например, это дает также выход: 'Баш -c«сон 1; pgrep -f novalidname»' –
Это не вопрос времени. Это оптимизация bash, аналогичная оптимизации Tail Call Optimization. – rici
Я подозреваю, что в системе OP '/ bin/sh' просто ссылка на'/bin/bash'. И что? – mustaccio