libmysqlclient_r.so не является частью libmysqlclient в ubuntu 16.04. Вы можете создать символическую ссылку на совместимый libmysqlclient.so, прежде чем запускать свою команду, используя:
sudo ln -s /usr/lib/x86_64-linux-gnu/libmysqlclient.so /usr/lib/x86_64-linux-gnu/libmysqlclient_r.so
Проблема заключается в том, что по умолчанию ps показывает только базовую команду в своем выводе, а не всю командную строку, включая аргументы.
Если вы запустите свой скрипт с bash TestEric.sh, базовая команда будет bash. Если вы запустите его как TestEric.sh (возможно, включая его путь), базовая команда будет таковой, а не bash.
Вы можете легко использовать pgrep вместо ps, чтобы просмотреть процессы, отфильтрованные по имени. Он имеет флаг -f, который позволяет ему сопоставлять данный шаблон со всей командной строкой, а не только с базовой командой.
Флаг -a позволяет отображать эту целую командную строку в своем выводе для целей отладки, а не только PID. После того, как вы подтвердили, что это работает, вы можете / должны удалить его снова в своем скрипте.
Попробуйте следующее:
pgrep -f -a TestEric.sh
Вы можете позже подсчитать процессы, используя wc, посчитав pgrep:
pgrep -f TestEric.sh | wc -l
Вместо этого вы можете попробовать запустить ps u. С man-страниц опция u соответствует display user-oriented format, которая отображает как оболочку, используемую для запуска скрипта, так и имя самого скрипта.
По-видимому, это помогает, если я добавлю !#/bin/bash в начале файла ... Тогда имя скрипта появится в отчете ps.
Проблема заключается в том, что по умолчанию ps показывает только базовую команду в своем выводе, а не всю командную строку, включая аргументы.
Если вы запустите свой скрипт с bash TestEric.sh, базовая команда будет bash. Если вы запустите его как TestEric.sh (возможно, включая его путь), базовая команда будет таковой, а не bash.
Вы можете легко использовать pgrep вместо ps, чтобы просмотреть процессы, отфильтрованные по имени. Он имеет флаг -f, который позволяет ему сопоставлять данный шаблон со всей командной строкой, а не только с базовой командой.
Флаг -a позволяет отображать эту целую командную строку в своем выводе для целей отладки, а не только PID. После того, как вы подтвердили, что это работает, вы можете / должны удалить его снова в своем скрипте.
Попробуйте следующее:
pgrep -f -a TestEric.sh
Вы можете позже подсчитать процессы, используя wc, посчитав pgrep:
pgrep -f TestEric.sh | wc -l
Вместо этого вы можете попробовать запустить ps u. С man-страниц опция u соответствует display user-oriented format, которая отображает как оболочку, используемую для запуска скрипта, так и имя самого скрипта.
По-видимому, это помогает, если я добавлю !#/bin/bash в начале файла ... Тогда имя скрипта появится в отчете ps.