Pipe Segment of Heredoc Output to Local File

Вы должны указать цель:

make valgrind

поскольку она не является частью all.

Другие примечания

В Makefile вы (очень вероятно) должны указать каталог по ./line в отличие от line под целью valgrind.

И, как отметил @casey, используйте $(EXEC) для согласованности.

Далее вам, вероятно, также следует заменить >& на >file 2>&1, так как последний скорее всего будет принят в любой оболочке , (скорее всего sh), которую использует ваш make.

Таким образом, что-то вроде:

valgrind:
    valgrind --leak-check=yes ./$(EXEC) >valgrind.out 2>&1
    @echo 'valgrind.out has been created'

0
01.02.2019, 19:54
1 ответ

Поскольку netstat -Aanне дает полного списка процессов, чтобы отличить поставщика от процесса-переключателя, вам нужно собрать идентификаторы плат, затем PID, а затем проверить аргументы:

for pid in $(netstat -Aan | grep '\.40000.*LISTEN$' | awk '{ print $1 }' | xargs -n1 -i rmsock {} tcpcb | awk '{print $9}')
do
  ps -o args= -p "$pid" | grep -q "provider-mode:" && echo this is a provider
  ps -o args= -p "$pid" | grep -q "switcher-mode:" && echo this is a switcher
done
0
28.01.2020, 04:02

Теги

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