คำถามติดแท็ก daemon

บนลินุกซ์ระบบที่เหมือนยูนิกซ์เป็นปีศาจในการกำหนดกระบวนการที่ทำงานอยู่เบื้องหลังและให้บริการบางอย่าง ไม่ได้มีเจตนาในการใช้งานโดยตรงกับปีศาจ

1
Systemd: เรียกใช้สคริปต์ Python เมื่อเริ่มต้น (virtualenv)
ฉันมีสคริปต์ไพ ธ อนซึ่งปกติฉันจะรันด้วยคำสั่งนี้: (environment) python run.py ฉันต้องการเรียกใช้สคริปต์นี้เมื่อเริ่มต้น (ฉันใช้อูบุนตู) นี่คือบริการของฉัน: [Unit] Description=My Script Service After=multi-user.target [Service] Type=idle ExecStart=/home/user/anaconda3/bin/python /home/user/space/run.py [Install] WantedBy=multi-user.target BTW ฉันไม่สามารถเรียกใช้สคริปต์นี้ แต่ฉันสามารถเรียกใช้สคริปต์ที่ไม่ได้อยู่ในสภาพแวดล้อม ฉันจะเรียกใช้สคริปต์ python เมื่อเริ่มต้น (virtualenv) ได้อย่างไร sudo systemctl status user_sent ● user_sent.service - Mail Service Loaded: loaded (/lib/systemd/system/user_sent.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since xxxxx …

4
daemon และบริการต่างกันหรือไม่?
daemon และบริการต่างกันหรือไม่? หรือว่าพวกเขาทั้งคู่เป็นแอพพลิเคชั่นที่มีอยู่ในหน่วยความจำและถูกผูกไว้กับพอร์ตที่เฉพาะเจาะจงและรับฟัง / ตอบสนองต่อการร้องขอ?
10 linux  debian  daemon 

2
start-stop-daemon สามารถใช้ตัวแปรสภาวะแวดล้อมได้หรือไม่?
ฉันต้อง daemonize แอพ Windows ที่ทำงานใน Wine และสร้าง pid /var/runค่ะ เนื่องจากต้องใช้เซสชัน X11 จึงต้องตรวจสอบให้แน่ใจว่าตัวแปร $ DISPLAY ได้รับการตั้งค่าในสภาพแวดล้อมของผู้ใช้ที่กำลังทำงานอยู่ สมมติว่าฉันมีเซสชั่น X11 ทำงานอยู่โดยมีจอแสดงผลที่กำหนดนี่คือสิ่งที่บรรทัด start-stop-daemon ดูเหมือนใน/etc/init.dสคริปต์ของฉัน: start-stop-daemon --start --pidfile /var/run/wine-app.pid -m -c myuser -g mygroup -k 002 --exec /home/myuser/.wine/drive_c/Program\ Files/wine-app.exe น่าเสียดายที่ start-stop-daemon เวอร์ชันของฉันใน Ubuntu 8.04 ไม่มี-eตัวเลือกในการตั้งค่าตัวแปรสภาพแวดล้อม ฉันรวบรวมว่าคุณสามารถตั้งค่า $ DISPLAY ก่อนคำสั่งดังนี้: VAR1="Value" start-stop-daemon ... แต่มันไม่ทำงาน เนื่องจากฉันใช้-c {user}ตัวเลือกในการเรียกใช้ในฐานะผู้ใช้เฉพาะฉันเดาว่ามีสวิตช์ของสภาพแวดล้อมและ …

1
Monit configuration reload - ควรรีสตาร์ทเซอร์วิสที่ถูกมอนิเตอร์หรือไม่?
ใช้ Monit 5.4 บนเซิร์ฟเวอร์ Ubuntu เมื่อฉันใช้monit reloadดูเหมือนว่าจะเริ่มบริการที่ตรวจสอบ (Tomcat 7 ในสถานการณ์นี้) มันเป็นพฤติกรรมที่คาดหวังหรือไม่? เอกสารอธิบายว่า : reload - เริ่มต้น Monit daemon ที่กำลังรันใหม่อีกครั้ง daemon จะเรียกคืนการกำหนดค่าของมันอีกครั้งปิดและเปิดไฟล์บันทึกอีกครั้ง ฉันคาดหวังว่ามันจะไม่เริ่มบริการใด ๆ แต่เพียงแค่ทำการรีโหลดการกำหนดค่าวิธีนี้ฉันสามารถเปลี่ยนการแจ้งเตือนทางอีเมลและสิ่งอื่น ๆ นี่คือผลลัพธ์ของ monit status The Monit daemon 5.4 uptime: 15h 0m Process 'tomcat7' status Running monitoring status Monitored pid 38842 parent pid 1 uptime 14h 30m …
10 ubuntu  service  monit  daemon 

1
สคริปต์เริ่มต้นไม่ได้สร้างไฟล์ PID
ฉันต้องสร้างสคริปต์เริ่มต้นสำหรับตัวบันทึก IRC ฉันคัดลอก /etc/init.d/skeleton ฉันกรอกข้อมูลในส่วนการกำหนดค่าเพื่อให้เหมาะกับความต้องการของฉันและฉันต้องเพิ่ม - พื้นหลังของคำสั่ง start daemon เนื่องจาก IRC logger ของฉันไม่แยกออก ตัวบันทึกเริ่มทำงานได้ดีเมื่อฉันใช้สคริปต์ init แต่ไม่ได้สร้างไฟล์. pid อย่างที่ควรจะเป็น เป็นผลให้กระบวนการไม่สามารถหยุดจนกว่าฉันจะหา ID กระบวนการด้วยตัวเองและฆ่ามัน นี่คือสคริปต์: #! /bin/sh ### BEGIN INIT INFO # Provides: skeleton # Required-Start: $remote_fsh # Required-Stop: $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: …

2
เรียกใช้ในฐานะผู้ใช้อื่น
ในระบบ RedHat ฉันพยายามเปิดโปรแกรมด้วยผู้ใช้อื่นที่ไม่มีเชลล์ ใน / etc / passwd เชลล์คือ / sbin / nologin ฉันเหนื่อย: su myuser -c /home/myuser/script.sh ผลลัพธ์: บัญชีนี้ไม่สามารถใช้งานได้ในขณะนี้ ด้วย chown และ setuid: chown myuser: mygroup /home/myuser/script.sh chmod + s /home/myuser/script.sh /home/myuser/script.sh ผล: script.sh ยังคงดำเนินการในฐานะผู้ใช้ที่ลงชื่อเข้าใช้ของฉัน ( ราก).
9 redhat  users  daemon 

2
การเรียกใช้ daemon ในสคริปต์ /etc/init.d กำลังบล็อกไม่ทำงานในพื้นหลัง
ฉันมีสคริปต์ Perl ที่ฉันต้องการ daemonize โดยพื้นฐานแล้วสคริปต์ Perl นี้จะอ่านไดเรกทอรีทุก ๆ 30 วินาทีอ่านไฟล์ที่พบแล้วประมวลผลข้อมูล เพื่อให้ง่ายขึ้นที่นี่ให้พิจารณาสคริปต์ Perl ต่อไปนี้ (เรียกว่า synpipe_server มีลิงก์สัญลักษณ์ของสคริปต์นี้/usr/sbin/): #!/usr/bin/perl use strict; use warnings; my $continue = 1; $SIG{'TERM'} = sub { $continue = 0; print "Caught TERM signal\n"; }; $SIG{'INT'} = sub { $continue = 0; print "Caught INT signal\n"; }; my …
9 linux  unix  daemon  init.d 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.