systemctl status montre inactif morts
Je suis en train d'écrire mon propre (simple) systemd service qui fait quelque chose de simple.( Comme l'écriture des nombres de 1 à 10 dans un fichier, en utilisant le script shell).
Mon fichier ressemble à celui ci-dessous.
[Unit]
Description=NandaGopal
Documentation=https://google.com
After=multi-user.target
[Service]
Type=forking
RemainAfterExit=yes
ExecStart=/usr/bin/hello.sh &
[Install]
RequiredBy = multi-user.target
C'est mon script shell.
#!/usr/bin/env bash
source /etc/profile
a=0
while [ $a -lt 10 ]
do
echo $a >> /var/log//t.txt
a=`expr $a + 1`
done
Pour une raison quelconque, le service n'est pas venu et systemctl est de montrer les dessous de la production.
root@TARGET:~ >systemctl status -l hello
* hello.service - NandaGopal
Loaded: loaded (/usr/lib/systemd/system/hello.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: https://google.com
Été à essayer de comprendre ce qui s'est passé pour les 2 derniers jours.
Quelqu'un pourrait-il svp m'aider ici?
Ce qui concerne,
nandanator
Le fichier journal ont quelque chose en elle? Êtes-vous sûr que vous pouvez écrire à cet emplacement?
avez-vous de rendre le script exécutable par
Oui, il y a l'accès en écriture.
Je suppose que le script a l'accès en écriture.
avez-vous de rendre le script exécutable par
chmod +x myScript
? Bonne chance.Oui, il y a l'accès en écriture.
Je suppose que le script a l'accès en écriture.
OriginalL'auteur nandanator | 2016-10-05
Vous devez vous connecter pour publier un commentaire.
Type=Forking
, mais votre service ne fonctionne pas. EssayezType=oneshot
ExecStart
ligne, ce qui n'est pas nécessaire.disabled
, ce qui signifie qu'il n'a pas étéenabled
pour se lancer au démarrage. Vous devez exécutersystemctl enable hello
configurer pour qu'il se lance au démarrage.Vous pouvez vérifier
man systemd.directives
trouver un index de toutes les directives que vous pouvez utiliser dans votreunit
fichiers.Merci, si ma réponse a résolu le problème, merci de le marquer comme acceptée.
"systemctl enable bonjour" m'a aidé, merci
OriginalL'auteur Mark Stosberg
Quelques points:
Si vous utilisez
Type=forking
, il est recommandé de spécifier PidFile.Dans votre cas,
Type=simple
, et ExecStart sans&
fonctionne.utilisation
systemctl start service-name
pour démarrer un serviceEnsuite utiliser
systemctl status service-name
pour vérifier son état.le statut sera inactif/dead si le service n'est pas démarré.
OriginalL'auteur vadiraj jahagirdar