ฉันได้ทำให้งงงวยเกี่ยวกับเรื่องนี้มาระยะหนึ่งแล้วและฉันได้จัดการปัญหาของฉันให้เป็นปัญหาเดียว ฉันมีบริการที่ควรเรียกใช้เชลล์สคริปต์เพื่อเริ่มกระบวนการภูต (โดยใช้ nohup) กระบวนการเหล่านี้คือบอทที่ไม่ลงรอยกันที่เขียนโดยใช้ nodejs และ discordjs ขณะนี้ฉันมีบริการที่เริ่มทดสอบบอทที่ไม่ลงรอยกันเมื่อฉันเรียกใช้ sudo systemctl start startdiscordbots
และนั่นก็ใช้ได้ดี ปัญหาคือเมื่อฉันรีสตาร์ทคอมพิวเตอร์ บริการแสดงข้อผิดพลาดด้านล่าง:
/daemons/discordbots/discounter/node_modules/discord.js/src/rest/RequestHandler.js:172
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: โยน HTTPError ใหม่ (error.message, error.constructor.name, error.status, request);
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: ^
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: HTTPError [FetchError]: คำขอไปที่ https://discord.com/api/v9/gateway/bot ล้มเหลว เหตุผล: getaddrinfo EAI_AGAIN discord.com
31 สิงหาคม 13:35:15 น. ubuntu start.sh[2459]: ที่ RequestHandler.execute (/daemons/discordbots/discounter/node_modules/discord.js/src/rest/RequestHandler.js:172:15)
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: ที่ processTicksAndRejections (node:internal/process/task_queues:96:5)
31 สิงหาคม 13:35:15 น. ubuntu start.sh[2459]: ที่ async RequestHandler.push (/daemons/discordbots/discounter/node_modules/discord.js/src/rest/RequestHandler.js:50:14)
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: ที่ async WebSocketManager.connect (/daemons/discordbots/discounter/node_modules/discord.js/src/client/websocket/WebSocketManager.js:128:9)
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: ที่ async Client.login (/daemons/discordbots/discounter/node_modules/discord.js/src/client/Client.js:245:7) {
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: รหัส: 500,
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: วิธีการ: 'รับ'
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: เส้นทาง: '/gateway/bot',
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: requestData: { json: undefined, files: [] }
31 ส.ค. 13:35:15 น. ubuntu start.sh[2459]: }
ดังนั้นฉันจึงรู้ว่าบริการเริ่มต้นได้ดีเมื่อโหลดบริการอื่น ๆ ทั้งหมดอย่างถูกต้อง แต่ฉันเดาว่ามีบริการที่ฉันต้องใส่ใน หลังจาก=
ส่วนหนึ่งของไฟล์ startdiscordbots.service ที่ฉันพลาดไป ของฉัน startdiscordbots.service
รหัสอยู่ด้านล่าง
[หน่วย]
คำอธิบาย=เริ่มบอทที่ไม่ลงรอยกันเป็นกระบวนการเบื้องหลัง
After=network.target systemd-user-sessions.service
[บริการ]
ประเภท = ง่าย
ExecStart=/startup/start.sh
รีสตาร์ท = เมื่อล้มเหลว
รีสตาร์ทวินาที=5
KillMode=กระบวนการ
ผู้ใช้ = อูบุนตู
[ติดตั้ง]
WantedBy=multi-user.target
มีใครรู้บ้างว่ามีบริการที่ต้องระบุใน หลังจาก=
ที่ฉันพลาดไปหรือมีอะไรเกิดขึ้นอีก?
คอมพิวเตอร์ที่ฉันใช้คือ RaspberryPi ที่ติดตั้งเซิร์ฟเวอร์ Ubuntu ฉันใช้โหนด v16.8.0 และ npm v7.21.0 กับ discordjs v13.1.0 ฉันเข้าถึงเทอร์มินัลได้เท่านั้น ดังนั้นโปรดอย่าให้คำตอบที่บอกให้ฉันใช้เครื่องมืออื่น
ความช่วยเหลือใด ๆ จะน่าทึ่ง!