-1

Я пытаюсь написать псевдоним, который убьет все запущенные процессы php .. это команда, которую я получил в моем ~/.bash_profile

alias killphp="ps aux | g [p]hp | awk '{print $3}' | xargs kill -9"

эта команда работает отлично, если я набираю ее как есть без псевдонима ... но если я просто запускаю killphp я получаю эту странность:

grep: warning: recursive search of stdin
kill: illegal process id: (standard
kill: illegal process id: input):2:abdullah
kill: illegal process id: 10.9
kill: illegal process id: 0.2
kill: 2496576: No such process
kill: 20460: No such process
kill: illegal process id: ??
kill: illegal process id: S
kill: illegal process id: 7:14AM
kill: illegal process id: 0:00.28
kill: illegal process id: /usr/local/Cellar/php54/5.4.28/bin/php
kill: illegal process id: /Users/abdullah/dev/php/smartTaxi/app/console
kill: illegal process id: bcc:resque:worker-start
kill: illegal process id: -f
kill: illegal process id: request_queue
kill: illegal process id: --env=dev
kill: illegal process id: (standard
kill: illegal process id: input):3:abdullah
kill: illegal process id: 6.0
kill: illegal process id: 0.1
kill: 2486972: No such process
kill: 9708: No such process
kill: illegal process id: ??
kill: illegal process id: S
kill: illegal process id: 7:14AM
kill: illegal process id: 0:00.08
kill: illegal process id: php
kill: illegal process id: /Users/abdullah/dev/php/smartTaxi/app/../vendor/chrisboulton/php-resque/resque.php

если я запускаю type killphp я получаю это:

killphp is aliased to `ps aux | g [p]hp | awk '{print }' | xargs kill -9'

так что, очевидно, аргумент в $3 для awk пропал! как мне избежать этого? Я пытался сделать /$3 и $$3 но ни один из них не работает.

1 ответ1

3

Тебе было бы намного лучше использовать pkill . Но чтобы ответить на ваш вопрос, сделайте killphp функцией bash вместо псевдонима, поместив это в свой профиль.

killphp() {
  ps aux | g [p]hp | awk '{print $3}' | xargs kill -9
}

Затем вы можете использовать его так же, как псевдоним:

killphp

Вы могли бы избежать $ , написав \$ , но с функциями вам не нужно беспокоиться о цитировании.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .