Aşağıdaki hizmeti yarattım, amos.service ve amos (amos grubunun üyesi) olarak çalışması gerekiyor
[Unit]
Description=AMOS Service
After=network.target
[Service]
User=amos
Group=amos
Type=simple
WorkingDirectory=/usr/share/amos
ExecStart=/usr/share/amos/amos_service.sh start
ExecStop=/usr/share/amos/amos_service.sh stop
Restart=on-failure
[Install]
WantedBy=multi-user.target
Tüm izinler üzerinde ayarlanmış /usr/share/amos
içinamos:amos
amos_service.sh aşağıdaki gibidir:
#!/bin/bash
CUDIR=$(dirname "$0")
cd /usr/share/amos
start() {
exec /usr/share/amos/run_amos.sh >> /var/log/amos.log 2>&1
}
stop() {
exec pkill java
}
case $1 in
start|stop) "$1" ;;
esac
cd "$CURDIR"
Hizmeti başlangıçta dizinlerde herhangi bir değişiklik yapmadan çalıştırdığımda, yani root'a ait olan ve amos.service Kullanıcı Grubu değil parametresine sahip olmadığımda, her şey harika çalışıyor!
Dizinlerin izinlerini amos: amos olarak değiştirip amos.service Kullanıcı ve Grubunu ekledikten sonra, serive çalışmaz ve aşağıdakileri elde ederim: Ekli resme bakın
/var/log
kök sahip olduğu tuhaftır . /var/log/amos/
Amos'a ait olarak oluşturduğunuz bir dizini kullanmak istediğinizi düşünüyorum .