Я создал сценарий для выполнения двоичного файла как услуги. Но служба не запускает службу, но когда я останавливаю службу, она показывает несколько pid.
Я использую RHEL 7. Вот полная информация
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
Обычно мы запускаем скрипт следующим образом ./pipeline --config pipeline.conf
[Unit]
Description=Pipeline service
[Service]
Type=simple
User=cisco
ExecStart=/hfqp/bin/pipeline --config /hfqp/bin/pipeline.conf
и сделал следующее
systemctl daemon-reload
systemctl start pipeline.service
Даже это не сработало.
вот журнал ошибок
● pipeline.service - Pipeline service
Loaded: loaded (/etc/systemd/system/pipeline.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2019-04-16 06:29:34 GMT; 19s ago
Process: 10195 ExecStart=/home/cisco/bigmuddy-network-telemetry-pipeline/bin/executePipeline.sh --daemon (code=exited, status=1/FAILURE)
Main PID: 9962 (code=exited, status=1/FAILURE)
Apr 16 06:29:07 matrix-pipeline-b-01 systemd[1]: Starting Pipeline service...
Apr 16 06:29:32 matrix-pipeline-b-01 sudo[10196]: pam_unix(sudo:auth): conversation failed
Apr 16 06:29:32 matrix-pipeline-b-01 executePipeline.sh[10195]: sudo: no tty present and no askpass program specified
Apr 16 06:29:32 matrix-pipeline-b-01 sudo[10196]: pam_unix(sudo:auth): auth could not identify password for [cisco]
Apr 16 06:29:34 matrix-pipeline-b-01 systemd[1]: pipeline.service: control process exited, code=exited status=1
Apr 16 06:29:34 matrix-pipeline-b-01 systemd[1]: Failed to start Pipeline service.
Apr 16 06:29:34 matrix-pipeline-b-01 systemd[1]: Unit pipeline.service entered failed state.
Apr 16 06:29:34 matrix-pipeline-b-01 systemd[1]: pipeline.service failed.
Любая помощь приветствуется
Вы читали сообщение об ошибке ниже?
Apr 16 06:29:32 matrix-pipeline-b-01 executePipeline.sh[10195]: sudo: no tty present and no askpass program specified
Apr 16 06:29:32 matrix-pipeline-b-01 sudo[10196]: pam_unix(sudo:auth): auth could not identify password for [cisco]
Похоже, что пользователь cisco не может запустить команду с привилегиями sudo, поскольку это, скорее всего, неинтерактивный сценарий. Вы можете предоставить sudo без пароля, отредактировав /etc/sudoers
файл.
$ sudo visudo
# Add a line like this to /etc/sudoers
# username ALL = NOPASSWD: /fullpath/to/command, /fullpath/to/othercommand
cisco ALL = NOPASSWD: /hfqp/bin/pipeline --config /hfqp/bin/pipeline.conf