ฉันมีไหที่ทำงานตลอดไป (วนซ้ำไม่สิ้นสุดกับซ็อกเก็ตฟังด้าย) และต้องการให้ทำงานในพื้นหลังตลอดเวลา ตัวอย่างจะเป็น: "java -jar test.jar" ฉันจะทำสิ่งนี้ได้อย่างไร ขอบคุณล่วงหน้า!
ฉันมีไหที่ทำงานตลอดไป (วนซ้ำไม่สิ้นสุดกับซ็อกเก็ตฟังด้าย) และต้องการให้ทำงานในพื้นหลังตลอดเวลา ตัวอย่างจะเป็น: "java -jar test.jar" ฉันจะทำสิ่งนี้ได้อย่างไร ขอบคุณล่วงหน้า!
คำตอบ:
หลายวิธี:
ต่อท้าย&
ที่ด้านหลัง อย่างไรก็ตามการใช้สิ่งนี้โปรแกรมจะยังคงถูกยกเลิกหากคุณปิดเทอร์มินัลที่เริ่มต้นโปรแกรม
เริ่มscreen
เซสชันและเริ่มโปรแกรมภายใน คุณสามารถแยกscreen
เซสชั่นและปิดสถานี ในภายหลังคุณสามารถแนบกับเซสชันอีกครั้งและพบว่าตัวเองกลับมาที่คอนโซลราวกับว่าคุณอยู่ที่นั่นมาตลอด อย่างไรก็ตามคุณจะต้องเริ่มต้นเซสชันหน้าจอก่อนเรียกใช้โปรแกรมและหากคุณลืมที่จะทำเช่นนั้นคุณจะไม่สามารถทำอะไรได้เลย
ใช้disown
การควบคุมงานจากเปลือกของคุณ สิ่งนี้จะแยกงานออกจาก tty ของคุณและโปรแกรมของคุณจะไม่ถูกยกเลิกเมื่อปิด tty อย่างไรก็ตามฉันไม่คิดว่าจะมีวิธีใดที่จะกลับไปทำงานที่ถูกปฏิเสธอีกครั้ง
พรอมต์บรรทัดคำสั่งที่ฉันใช้มาเป็นระยะเวลานานในการล็อกออฟคือ "nohup" ดังนั้นในกรณีของคุณ
nohup java -jar test.jar &
ปุ่ม & เป็นสิ่งสำคัญเพื่อให้คุณสามารถเรียกใช้เชลล์อื่นได้ ฉันเชื่อว่าสิ่งนี้จะไม่ผ่านการรีบูต
หากเป็น "ตลอดเวลา" คุณหมายถึงว่ามันเริ่มต้นขึ้นเมื่อบูทเครื่องคุณจะต้องเริ่มต้นเป็นส่วนหนึ่งของสคริปต์เวลาบู๊ต วิธีที่สกปรกในการทำเช่นนี้คือการเพิ่ม
java -jar test.jar> / dev / null 2> & 1 &
เป็น /etc/rc.local (หรือแทนที่ / dev / null ด้วยไฟล์บันทึกที่คุณชื่นชอบ)
ดีกว่าคือการสร้างสคริปต์ init.d ที่เริ่มต้นใน runlevels ที่เหมาะสม (เช่นคุณอาจไม่ต้องการมันใน runlevel 0, 1 หรือ 6 เป็นต้น) ด้วยวิธีนี้คุณสามารถให้มันเริ่มต้นใหม่โดยอัตโนมัติถ้ามันตายและมีอินเทอร์เฟซที่ดีกว่าเพื่อหยุดมันชั่วคราว
ตัวอย่างเล็ก ๆ ที่http://www.howtoforge.com/forums/archive/index.php/t-3628.html
คำอธิบายขนาดใหญ่ที่http://developer.novell.com/wiki/index.php/Writing_Init_Scripts
java -jar test.jar &
ผู้ประกอบการ & จะบังคับให้กระบวนการทำงานในพื้นหลังคุณสามารถเรียกใช้คำสั่ง 'บน' หลังจากนั้นเพื่อดูว่ามันกำลังทำงานอยู่
คุณสามารถรันงานใด ๆ ในพื้นหลังบน Linux โดยการใส่สัญลักษณ์ '&' ต่อท้ายบรรทัดคำสั่งเช่น
java -jar test.jar &
คุณสามารถใช้เวอร์ชันชุมชนของ Java Service Wrapper ได้จากที่นี่:
http://wrapper.tanukisoftware.org/doc/english/download.jsp
จากนั้นคุณสามารถเริ่มต้นใหม่ตอนรีบูต:
http://wrapper.tanukisoftware.org/doc/english/launch-nix-boot-debian.html
ใส่&
ท้าย:java -jar test.jar &