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

Launchd เป็นดีมอนโอเพ่นซอร์สที่มีวัตถุประสงค์เพื่อปรับปรุงและเร่งการเริ่มต้นและการหยุดกระบวนการบน * nix OS


5
ฉันจะรันคำสั่ง launchd ในฐานะ root ได้อย่างไร
ฉันมีคำสั่ง launchctl ต่อไปนี้เป็นไฟล์. plist มีการโหลดและตั้งค่าให้ทำงานวันละครั้ง แต่จำเป็นต้องเรียกใช้ในฐานะรูทและฉันไม่แน่ใจว่าจะยืนยันได้อย่างไร นอกจากนี้งาน cron นี้โดยทั่วไปซีดีลงในไดเรกทอรีและเรียกใช้คำสั่ง ฉันแน่ใจว่า launchd มีวิธีที่ดีกว่าในการระบุไดเรกทอรีที่ควรรันคำสั่ง ฉันจะรู้ได้อย่างไรว่ามันทำงานเหมือนรูทและมีวิธีเขียนที่ดีกว่านี้หรือไม่? <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>dev.project.frontpage.feedparser</string> <key>ProgramArguments</key> <array> <string>cd</string> <string>/Users/eman/src/project/trunk/includes/;</string> <string>./feed-parser.php</string> <string>-c</string> <string>./feed-parser-config.xml</string> </array> <key>QueueDirectories</key> <array/> <key>StartCalendarInterval</key> <dict> <key>Hour</key> <integer>12</integer> <key>Minute</key> <integer>0</integer> </dict> <key>WatchPaths</key> <array/> </dict> </plist>
32 macos  mac  cron  root  launchd 

8
วิธีฆ่ากระบวนการใน Mac OS X และไม่ได้รีสตาร์ทด้วยตัวเอง
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Super User อพยพ 9 ปีที่ผ่านมา เมื่อฉันรันsudo kill -9 [PID]ด้วย ID กระบวนการที่เหมาะสมกระบวนการจะหยุดทำงาน แต่จะเริ่มใหม่และมี PID ใหม่ ฉันพยายามที่จะฆ่าmysqldกระบวนการ ฉันจะเลียนแบบการตรวจสอบกิจกรรมในการฆ่ากระบวนการได้อย่างไร ในการตรวจสอบกิจกรรมเมื่อคุณกด "ออกจากกระบวนการ" กระบวนการหยุดทำงานอย่างถาวรจะถูกยกเลิกโดยสิ้นเชิง ฉันคิดว่าkillจะทำสิ่งเดียวกันใช่มั้ย ฉันมีทั้งตัวตรวจสอบกิจกรรมและเทอร์มินัลติดกันเพื่อดูว่าคำสั่งใช้งานได้หรือไม่ แต่ทุกครั้งที่ทำsudo kill -9 [PID]กระบวนการในการตรวจสอบกิจกรรมจะไม่หายไปมันแค่รีเฟรชด้วย PID ใหม่ ดังนั้น ... ฉันจะฆ่าmysqldกระบวนการผ่านเทอร์มินัลได้อย่างไร

7
ไม่สามารถเปิด daemon ด้วย launchctl ใน Yosemite
ฉันมี launchd daemon ~/Library/LaunchAgentsซึ่งทำงานได้ดีใน Mavericks แต่มันจะไม่เริ่มต้นในเบต้าสาธารณะโยเซมิตี Plist daemon เป็นแบบนี้ (ชื่อผู้ใช้ของฉันคือdarksairกับ UID 501) <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd > <plist version="1.0"> <dict> <key>Label</key> <string>org.darksair.retrmail</string> <key>ProgramArguments</key> <array> <string>/Users/darksair/bin/retrmail.py</string> </array> <key>KeepAlive</key> <false/> <key>StartInterval</key> <integer>300</integer> <key>LaunchOnlyOnce</key> <false/> <key>UserName</key> <string>darksair</string> <key>ProcessType</key> <string>Standard</string> <key>EnvironmentVariables</key> <dict> <key>PATH</key> <string>/Users/darksair/Python/bin:/Users/darksair/Python3/bin:/Users/darksair/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string> </dict> <key>StandardOutPath</key> <string>/Users/darksair/logs/retrmail.log</string> …

2
เรียกใช้แอปบน MacOSX Mountain Lion: งานล้มเหลวในการประมวลผล (3) ด้วยเหตุผลแปลก ๆ : 13
ฉันพยายามเรียกใช้แอปบน mac ของฉัน แต่มันปิดอย่างรวดเร็วฉันตรวจสอบการตั้งค่าสถานะการกักกัน แต่นั่นไม่ใช่ปัญหาฉันตรวจสอบคอนโซลและนี่คือข้อมูลข้อผิดพลาด: 9/24/12 1:44:19.343 AM com.apple.launchd.peruser.501[150]: ([0x0-0x330330].com.krill.CodeRunner[5405]) Job failed to exec(3) for weird reason: 13 ฉันจะแก้ไขสิ่งนี้ได้อย่างไร ขอบคุณล่วงหน้า
18 macos  launchd 

5
การตั้งค่าตัวแปรสภาพแวดล้อมใน OS X สำหรับแอปพลิเคชัน GUI
วิธีหนึ่งตั้งค่าตัวแปรสภาพแวดล้อมใน Mac OS X เช่นนั้นจะพร้อมใช้งานสำหรับแอปพลิเคชัน GUI โดยไม่ใช้~ / .MacOSX / environment.plistหรือLogin Hooks (เนื่องจากสิ่งเหล่านี้เลิกใช้แล้ว )

2
วิธีการรีสตาร์ท launchd OS X โดยไม่ต้องรีบูตเครื่อง?
เมื่อฉันเรียกใช้ Zotero / Firefox พวกเขามักจะผิดพลาดและฉันก็เหลือกับกระบวนการซอมบี้ หลังจากนี้ฉันไม่สามารถเปิดอินสแตนซ์ใหม่ของ Zotero หรือ Firefox ฉันต้องการกำจัดกระบวนการซอมบี้เหล่านี้แทนที่จะรีบูตดังนั้นสำหรับ<pid>กระบวนการซอมบี้ $ ps -p <pid> -o ppid= ให้ฉัน<parent_pid>และ ps aux | awk -v PID=<parent_pid> '$2 == PID {print $0}' บอกฉันการปกครองเป็นสำหรับผู้ใช้/sbin/launchdcrippledlambda มีวิธีการรีสตาร์ทโดยไม่ฆ่าระบบของฉันหรือไม่ sudo kill -1 <parent_pid> ไม่ทำอะไรเลย ฉันพยายามเขียนสิ่งนี้ในสคริปต์และเรียกใช้ด้วยsudo: for i in `launchctl list | grep launchd | awk -v PID=<parent_pid> '$1==PID { …

6
วิธีการลงทะเบียนตัวแทนด้วย launchd
ฉันไม่สามารถกำหนดเวลาเปิดตัวเป็นครั้งคราวด้วยlaunchctl/ launchdบน OS X (Leopard) โดยทั่วไปฉันไม่สามารถหารายการคำแนะนำทีละขั้นตอนบนเว็บและวิธีการที่ใช้งานง่ายไม่ทำงาน sync.plistไฟล์: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>net.madrat.utils.sync</string> <key>Program</key> <string>rsync</string> <key>ProgramArguments</key> <array> <string>-ar</string> <string>/path/to/folder/</string> <string>/path/to/backup/</string> </array> <key>StartInterval</key> <integer>7200</integer> </dict> </plist> ~/Library/LaunchAgentsฉันได้ใส่สคริปต์นี้ภายในเส้นทาง ต่อไปฉันลงทะเบียนสคริปต์โดยใช้ launchctl load ~/Library/LaunchAgents/sync.plist ในที่สุดเพื่อทดสอบว่ามันใช้งานได้ฉันเริ่มงาน: launchctl start net.madrat.utils.sync - ไม่มีอะไรเกิดขึ้น. การดำเนินการrsyncคำสั่งด้วยตนเองในเทอร์มินัลจะทำให้ได้ผลลัพธ์ที่คาดหวัง ฉันค่อนข้างแน่ใจว่างานได้รับการลงทะเบียนอย่างถูกต้องเพราะถ้าฉันพยายามเริ่มงานที่ไม่มีอยู่ฉันได้รับข้อความแสดงข้อผิดพลาด (ซึ่งฉันไม่ได้รับคำสั่งด้านบน) ผมทำอะไรผิด?
14 macos  launchd 

1
ข้อผิดพลาด com.apple.launchd: com.apple.launchd.peruser
สองสามวันที่ฉันอ่านข้อผิดพลาดเหล่านี้ในไฟล์บันทึกระบบ 25/11/11 21:31:43,373 com.apple.launchd: (com.apple.launchd.peruser.32697[92747]) getpwuid("32697") failed 25/11/11 21:31:43,374 com.apple.launchd: (com.apple.launchd.peruser.32697[92747]) Exited with code: 1 25/11/11 21:31:43,374 com.apple.launchd: (com.apple.launchd.peruser.32697) Throttling respawn: Will start in 10 seconds ฉันมี OSX Lion 10.7.2 ข้อความเหล่านี้ซ้ำแล้วซ้ำอีกทุกสองสามวินาทีฉันได้รับ getpwuid () และดูเหมือนว่าจะเป็นการโทรของระบบ ฉันยังได้อ่านโพสต์ superuser บางส่วนเกี่ยวกับปัญหานี้: /superuser//search?q=com.apple.launchd.peruser แต่การรันคำสั่งที่รายงานในคอนโซลไม่ได้ให้คำแนะนำเกี่ยวกับวิธีการแก้ปัญหานี้ . ฉันได้ติดตามการปรากฏตัวครั้งแรกของข้อผิดพลาดนี้ถึงวันที่ 20 พฤศจิกายนนี่คือบรรทัดก่อนหน้าของไฟล์ system.log: Nov 20 17:22:10 MacBook-Pro com.apple.backupd[45360]: Deleted …

1
วิธีรับ Plist Plist เพื่อรันคำสั่ง bash ที่ซับซ้อน 1 บรรทัด
ฉันมีคำสั่ง bash ที่ค่อนข้างซับซ้อนซึ่งรวมไปถึงไพพ์บางส่วนและประโยค if-then-else ไม่พูดถึงการเรียกโปรแกรมระบบ (เช่นgrep) ที่มีพารามิเตอร์หลายตัว มีวิธีสร้าง plist ที่ launchd จะโหลดและรันคำสั่งที่ซับซ้อนนี้โดยตรงหรือไม่? (ตรงข้ามกับการที่ผู้อ้างอิงอ้างอิงไฟล์ bash script ที่มีคำสั่งที่ซับซ้อน) ขอบคุณ
13 macos  bash  launchd  plist 

2
การตรวจสอบโฟลเดอร์ / การตั้งค่าทั่วไปของ Mac OS (เมื่อพยายามกำจัดแอพที่เปิดตัวด้วยตนเองที่น่ารำคาญ)
หากมีแอพที่เริ่มต้นด้วยตัวเองสถานที่ที่มีประสิทธิภาพที่สุดในการค้นหาจะเป็นอย่างไร ใครบ้างมีรายการที่ครอบคลุมที่ดีในการตรวจสอบรายการเริ่มต้นรายการเข้าสู่ระบบเข้าสู่ระบบ Hooks, Cron ส่วนขยายเคอร์เนล ฯลฯ ... ณ จุดนี้ฉันลืมที่ครึ่งหนึ่งของโฟลเดอร์ / ไฟล์ plist เหล่านี้ ฉันหวังว่าจะมีใครบางคนมี cheatsheet ที่พวกเขาสามารถแบ่งปันได้ โดยทั่วไปฉันกำลังมองหารายการของสถานที่ที่พบบ่อยที่สุดที่ Mac OS เปิดตัวแอพหรือสคริปต์โดยอัตโนมัติ (เช่น: เมื่อเข้าสู่ระบบหรือตามกำหนดเวลา ฯลฯ )

1
ดูเหมือนว่า launchd จะไม่สนใจ StartCalendarInterval บน Yosemite
ฉันพยายามอัปเดต Homebrew ตามเวลาด้วย launchd ไฟล์ plist ของฉันแสดงที่นี่: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>ms.liu.homebrew.update</string> <key>UserName</key> <string>LiuMS</string> <key>ProcessType</key> <string>Background</string> <key>EnvironmentVariables</key> <key>ProgramArguments</key> <array> <string>/usr/local/bin/brew</string> <string>update</string> </array> <key>StartCalendarInterval</key> <dict> <key>Hour</key> <integer>20</integer> <key>Minute</key> <integer>0</integer> </dict> <key>StandardOutPath</key> <string>/usr/local/logs/ms.liu.homebrew.update.out</string> <key>StandardErrorPath</key> <string>/usr/local/logs/ms.liu.homebrew.update.err</string> </dict> </plist> มันทำงานอย่างใด: ฉันสามารถดำเนินการlaunchctl start ms.liu.homebrew.updateด้วยตนเองเพื่ออัปเดต Homebrew …

3
กำลังลบรายการเริ่มต้นจาก com.apple.launchd
ฉันติดตั้งโปรแกรมเมื่อไม่กี่เดือนที่ผ่านมามันมีตัวเลือกการเริ่มต้นที่ฉันติดตั้ง ต่อมาฉันตัดสินใจที่จะลบโปรแกรม แต่ดูเหมือนว่าจะออกจากสคริปต์เริ่มต้นหรือรายการแม้หลังจากที่ฉันถอนการติดตั้ง .... และมันพยายามที่จะเริ่มทุกสองสามวินาที ฉันจะลบรายการนี้ได้อย่างไร นี่คือจากคอนโซล $ com.apple.launchd[1] (com.jft.PdaNetMac[24476]): Exited with exit code: 1 $ com.apple.launchd[1] (com.jft.PdaNetMac): Throttling respawn: Will start in 10 second
9 macos  launchd 

1
หยุดกระบวนการเรียกใช้ที่ควบคุมไม่ได้บน OS X Leopard
ฉันสร้างไฟล์ launchd .plist เป็นเพื่อให้สคริปต์ python ทำงานทุกชั่วโมง ฉันสิ้นสุดการแก้ไขและภายหลังการลบไฟล์. plist (ใน / Library / LaunchDaemons) ... แต่อย่างใด launchd ยังคงพยายามเรียกใช้สคริปต์ .. ไฟล์ที่ไฟล์. plist ดั้งเดิมถูกเรียกนั้นไม่มีอยู่อีกต่อไป (มันเป็น ใน / usr / bin) .. ตอนนี้ทุก ๆ 10 วินาที launchd ยังคงพยายามเรียกใช้สคริปต์ล้มเหลวและเกิดใหม่ ... ฉันพยายามแก้ไขด้วย Lingon .... โดยไม่มีประโยชน์ .. มีวิธีฆ่ากระบวนการนี้ให้ดีหรือไม่? ฉันพยายามออกจากระบบและเริ่มใหม่เช่นกัน ... เครื่องกำลังทำงาน 10.5.8

1
เริ่ม Jenkins slave บน Mac OS X ในรูปแบบ LaunchDaemon
ฉันกำลังพยายามเริ่มเจนกินส์ slave.jar บน Mac OS X 10.8.3 โดยใช้ Launch Daemon เพื่อให้ทำงานได้ทันทีหลังจากที่เครื่องเริ่มทำงาน แต่ฉันกำลังประสบปัญหาลึกลับ: LaunchDaemon เริ่มต้นทาสอย่างที่ฉันเห็นในล็อกไฟล์ 29.04.2013 14:57:06 hudson.remoting.jnlp.Main$CuiListener status INFO: Locating server among [http://ci.****/] 29.04.2013 14:57:06 hudson.remoting.jnlp.Main$CuiListener status INFO: Connecting to ci.****:53930 29.04.2013 14:57:06 hudson.remoting.jnlp.Main$CuiListener status INFO: Handshaking 29.04.2013 14:57:06 hudson.remoting.jnlp.Main$CuiListener status INFO: Connected แต่การเชื่อมต่อถูกปิดหลังจากนั้น: 29.04.2013 14:57:06 hudson.remoting.SynchronousCommandTransport$ReaderThread run SCHWERWIEGEND: I/O …
6 macos  mac  launchd  jenkins 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.