$HOME
komut dosyasını çalıştıran kullanıcının giriş dizinini gösterir. Systemd hizmetleri root ile başlatılır, böylece muhtemelen denenir /root/theFolder/run.sh
. Hizmet dosyalarında mutlak yollar kullanın.
Ayrıca forking
seçenek ayarlanmış. Bu kendilerini arka plan programı için gereklidir, senaryonuz bunu yapıyor mu? Çoğu yapmaz ve sizinkini almazsanız bu seçeneği kaldırmalısınız, aksi takdirde systemd komut dosyanızın başlatıldığını iddia etmesini bekler.
Ayrıca, ana dizininizdeki komut dosyalarına işaret eden sistem hizmeti dosyaları önerilmez ve güvenlikle ilgili bir sorun olabilir. Kök olarak çalıştırıldıklarından, bunları değiştirebilen herkes bilgisayarınıza kök erişimi sağlayabilir. Betiği kopyalamak ve /usr/local/bin
sahip olunmasını sağlamak çok daha iyidir ve bunu durdurmak için yalnızca kök tarafından yazılabilir. Hizmet dosyasındaki User=
ve Group=
seçeneklerini kullanarak komut dosyasını ayrıcalıklı bir kullanıcı olarak çalıştırmak da iyi bir fikirdir .
Kullanıcı olarak çalıştırmak istiyorsanız, hizmet dosyasını koymak ~/.config/systemd/user/
ve başlatmak / etkinleştirmek daha iyidir systemctl --user enable yourservice && systemctl --user start yourservice
(not, kullanıcı root değil olarak çalıştırın). Bkz Bu kullanıcının servis dosyaları hakkında daha fazla bilgi için.
systemctl daemon-reload
Birim dosyanızı oluşturduktan sonra mı çalıştınız?