อ่าน 3 นาที
กระบวนการเบื้องหลัง
กระบวนการ พื้นหลัง คือ กระบวนการคอมพิวเตอร์ ที่ทำงานอยู่ เบื้องหลัง (เช่น ในพื้นหลัง) โดยไม่ต้องมีการแทรกแซงจากผู้ใช้ [ 1 ] งานทั่วไปสำหรับกระบวนการเหล่านี้ ได้แก่ การบันทึก...
กระบวนการเบื้องหลัง
กระบวนการพื้นหลังคือกระบวนการคอมพิวเตอร์ที่ทำงานอยู่เบื้องหลัง (เช่น ในพื้นหลัง) โดยไม่ต้องมีการแทรกแซงจากผู้ใช้[ 1 ]งานทั่วไปสำหรับกระบวนการเหล่านี้ ได้แก่ การบันทึก การตรวจสอบระบบ การจัดตารางเวลา[ 2 ]และการแจ้งเตือนผู้ใช้[ 3 ]
ใน ระบบ Windowsกระบวนการทำงานเบื้องหลังอาจเป็นโปรแกรมคอมพิวเตอร์ที่ไม่สร้างส่วนติดต่อผู้ใช้หรืออาจเป็นบริการของ Windowsโปรแกรมที่ทำงานเบื้องหลังนั้นจะเริ่มต้นทำงานเหมือนกับโปรแกรมอื่นๆ เช่น ผ่านเมนู Startส่วนบริการของ Windows นั้นจะเริ่มต้นทำงานโดยใช้Service Control ManagerในWindows Vistaและเวอร์ชันที่ใหม่กว่า บริการเหล่านี้จะทำงานในเซสชันแยกต่างหาก
ในระบบที่คล้าย Unix นั้น daemonจะเป็นกระบวนการพื้นหลัง อย่างไรก็ตาม ในเชลล์ที่รองรับการควบคุมงานกระบวนการที่อยู่ในกลุ่ม กระบวนการ ที่มีรหัสกลุ่มกระบวนการแตกต่างจากรหัสกลุ่มเทอร์มินัล (TGID) จะเป็นกระบวนการพื้นหลัง (TGID ของกระบวนการคือรหัสกระบวนการของหัวหน้ากลุ่มกระบวนการที่เปิดเทอร์มินัล ซึ่งโดยทั่วไปคือเชลล์ล็อกอิน TGID ระบุเทอร์มินัลควบคุมของกลุ่มกระบวนการ) กระบวนการประเภทนี้ไม่สามารถรับสัญญาณแป้นพิมพ์จากเทอร์มินัลแม่ได้ และโดยทั่วไปจะไม่ส่งเอาต์พุตไปยังเทอร์มินัลนั้น[ 4 ]คำจำกัดความทางเทคนิคที่ละเอียดกว่านี้ไม่ได้แยกแยะว่ากระบวนการสามารถรับการแทรกแซงจากผู้ใช้ได้หรือไม่ แม้ว่าโดยทั่วไปแล้วกระบวนการพื้นหลังจะใช้เพื่อวัตถุประสงค์ที่ต้องการทรัพยากรน้อย แต่กระบวนการใดๆ ก็สามารถทำงานในพื้นหลังได้ และกระบวนการดังกล่าวจะทำงานเหมือนกระบวนการอื่นๆ ยกเว้นกรณีที่กล่าวมาข้างต้น[ 1 ]
บริการ Windows
ในระบบปฏิบัติการตระกูลWindows NTบริการ Windows เป็นกระบวนการพื้นหลังเฉพาะ[ 5 ]บริการ Windows ต้องเป็นไปตามกฎอินเทอร์เฟซและโปรโตคอลของService Control Managerซึ่งเป็นส่วนประกอบที่รับผิดชอบในการจัดการบริการ Windows [ 6 ]
บริการของ Windows สามารถตั้งค่าให้เริ่มต้นเมื่อระบบปฏิบัติการเริ่มต้น และทำงานในพื้นหลังตราบเท่าที่ Windows ยังทำงานอยู่ หรืออาจเริ่มต้นด้วยตนเองหรือโดยเหตุการณ์ก็ได้ ระบบปฏิบัติการ Windows NT มีบริการมากมายที่ทำงานในบริบทของบัญชีผู้ใช้ สามบัญชี ได้แก่ , และส่วนประกอบSystemของWindows เหล่านี้มักเกี่ยวข้องกับกระบวนการโฮสต์สำหรับบริการของ Windows: svchost.exeเนื่องจากบริการของ Windows ทำงานในบริบทของบัญชีผู้ใช้เฉพาะของตนเอง จึงสามารถทำงานได้แม้ในขณะที่ผู้ใช้ไม่ได้ล็อกอินอยู่ Network ServiceLocal Service
ก่อนWindows Vistaบริการที่ติดตั้งเป็น "บริการแบบโต้ตอบ" สามารถโต้ตอบกับเดสก์ท็อป ของ Windows และแสดงอินเทอร์เฟซผู้ใช้แบบกราฟิกได้ อย่างไรก็ตาม ใน Windows Vista บริการแบบโต้ตอบถูกยกเลิกและหยุดทำงานอย่างถูกต้อง อันเป็นผลมาจากWindows Service Hardening [ 7 ] [ 8 ]
วิธีการหลักสามวิธีในการจัดการบริการของ Windows ได้แก่:
- ส่วนเสริมบริการสำหรับMicrosoft Management Console
sc.exe- วินโดวส์พาวเวอร์เชลล์
เดมอน
เดมอนเป็นกระบวนการพื้นหลังประเภทหนึ่งที่ออกแบบมาให้ทำงานอย่างต่อเนื่องในพื้นหลัง รอให้เกิดเหตุการณ์หรือเงื่อนไขต่างๆ[ 9 ] เมื่อถูกเรียกใช้ด้วย ฟังก์ชัน เดมอนเดมอนจะไม่เกี่ยวข้องกับเทอร์มินัลหลักอีกต่อ ไป [ 10 ]
งานเบื้องหลังในระบบ Unix
จากบรรทัดคำสั่ง Unix สามารถเริ่มกระบวนการพื้นหลังได้โดยใช้ตัวดำเนินการ "&" คำสั่ง bgสามารถดำเนินการต่อจากงานที่ถูกระงับ (โดยการส่งSIGCONT ) และทำงานในพื้นหลัง การใช้ คำสั่ง fg จะตั้งค่า กลุ่มกระบวนการเบื้องหน้าของเทอร์มินัลควบคุมของเซสชันให้เป็นกลุ่มกระบวนการของงาน ทำให้งานนั้นมาอยู่ในเบื้องหน้า คำสั่ง jobsจะแสดงรายการกระบวนการทั้งหมดที่เกี่ยวข้องกับเทอร์มินัลปัจจุบัน และสามารถใช้เพื่อนำกระบวนการพื้นหลังมาอยู่ในเบื้องหน้าได้[ 4 ] [ 11 ]
เมื่อเซสชันการเข้าสู่ระบบสิ้นสุดลง ไม่ว่าจะโดยการออกจากระบบอย่างชัดเจนหรือการตัดการเชื่อมต่อเครือข่าย กระบวนการทั้งหมด รวมถึงกระบวนการพื้นหลัง จะถูกยุติโดยค่าเริ่มต้น เพื่อป้องกันไม่ให้กลายเป็นกระบวนการที่ถูกทิ้งร้างกล่าวคือ เมื่อผู้ใช้ปิดกระบวนการเชลล์ที่เริ่มต้นขึ้น ในระหว่างการปิดระบบ กระบวนการจะส่งสัญญาณวางสาย ( SIGHUP ) ไปยังงาน ทั้งหมด เพื่อยุติกระบวนการทั้งหมดในกลุ่มกระบวนการ ที่เกี่ยวข้อง หากต้องการให้กระบวนการทำงานต่อไป ผู้ใช้สามารถเลือกที่จะไม่ยุติเซสชัน หรือยุติเซสชันโดยไม่ยุติกระบวนการ สามารถใช้ ตัวจัดการเทอร์มินัลแบบมัลติเพล็กเซอร์เพื่อปล่อยให้เซสชันทำงานต่อไป แต่แยกเทอร์มินัลเสมือนออกจากเซสชันนั้น ทำให้กระบวนการยังคงทำงานเป็นกระบวนการลูกของเซสชัน จากนั้นผู้ใช้สามารถเชื่อมต่อเซสชันอีกครั้งในภายหลังได้ หรือสามารถป้องกันการยุติได้โดยการเริ่มต้นกระบวนการผ่าน คำสั่ง nohup (บอกให้กระบวนการไม่สนใจ SIGHUP) หรือโดยการเรียกใช้disownด้วยรหัสงานในภายหลัง ซึ่งจะลบงานออกจากรายการงานทั้งหมด หรือเพียงแค่ป้องกันไม่ให้ส่ง SIGHUP ในกรณีหลัง เมื่อเซสชันสิ้นสุดลง กระบวนการลูกจะไม่ถูกยุติลง ไม่ว่าจะเป็นเพราะไม่ได้รับสัญญาณ SIGHUP หรือเพราะพวกมันเพิกเฉยต่อสัญญาณนั้น จึงกลายเป็นกระบวนการกำพร้า ซึ่งต่อมาจะถูกรับเลี้ยงโดย กระบวนการ init (เคอร์เนลจะกำหนดให้กระบวนการ init เป็นกระบวนการแม่) และพวกมันจะทำงานต่อไปโดยไม่มีเซสชัน โดยในตอนนี้จะเรียกว่า daemons
ตัวอย่าง
ในตัวอย่างนี้ที่ทำงานบนUnixยู ทิลิตี้ sleepถูกเรียกใช้ในพื้นหลัง หลังจากนั้น เครื่องมือ psถูกเรียกใช้ในพื้นหน้า ซึ่งจะแสดงข้อความด้านล่าง ทั้งสองถูกเรียกใช้จากเชลล์[ 12 ]
PID TT STAT TIME COMMAND 54659 10 S 0 :00.06 su ( zsh ) 54703 10 IN 0 :00.00 - sleep 1000 54852 10 R+ 0 :00.00 - ps -U botty -axd สมาร์ทโฟน
ระบบปฏิบัติการสมาร์ทโฟนและ PDA เวอร์ชันใหม่หลายเวอร์ชันในปัจจุบันมีฟังก์ชันในการเริ่มต้นกระบวนการพื้นหลัง เนื่องจากข้อจำกัดของฮาร์ดแวร์ กระบวนการพื้นหลังบนระบบปฏิบัติการมือถือมักถูกจำกัดไว้ที่งานหรือระดับการใช้ทรัพยากรบางอย่าง บนAndroidการใช้ CPU สำหรับกระบวนการพื้นหลังอาจถูกจำกัดไว้ที่ 5–10% [ 13 ] แอปพลิเคชันใน iOS ของ Apple ถูกจำกัดไว้ที่ฟังก์ชันย่อยบางส่วนขณะทำงานในพื้นหลัง[ 3 ]ทั้งบน iOS และ Android กระบวนการพื้นหลัง รวมถึงแอปพื้นหลังหรือแอปที่ไม่ได้ใช้งาน สามารถถูกระบบปิดได้หากใช้หน่วยความจำหรือพลังงานแบตเตอรี่มากเกินไป[ 3 ] [ 13 ]
ดูเพิ่มเติม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ กระบวนการเบื้องหลัง
กระบวนการ พื้นหลัง คือ กระบวนการคอมพิวเตอร์ ที่ทำงานอยู่ เบื้องหลัง (เช่น ในพื้นหลัง) โดยไม่ต้องมีการแทรกแซงจากผู้ใช้ [ 1 ] งานทั่วไปสำหรับกระบวนการเหล่านี้ ได้แก่ การบันทึก...
บริการ Windows
ใน ระบบปฏิบัติการ ตระกูล Windows NT บริการ Windows เป็นกระบวนการพื้นหลังเฉพาะ [ 5 ] บริการ Windows ต้องเป็นไปตามกฎอินเทอร์เฟซและโปรโตคอลของ Service Control Manager ซึ่งเป็นส่วนประกอบที่รับผิดชอบในการจัดการบริการ Windows [ 6 ]
เดมอน
เดมอนเป็นกระบวนการพื้นหลังประเภทหนึ่งที่ออกแบบมาให้ทำงานอย่างต่อเนื่องในพื้นหลัง รอให้เกิดเหตุการณ์หรือเงื่อนไขต่างๆ [ 9 ] เมื่อถูกเรียกใช้ด้วย ฟังก์ชัน เดมอน เดมอนจะไม่เกี่ยวข้องกับเทอร์มินัลหลักอีกต่อ ไป [ 10 ]
งานเบื้องหลังในระบบ Unix
จากบรรทัดคำสั่ง Unix สามารถเริ่มกระบวนการพื้นหลังได้โดยใช้ตัวดำเนินการ "&" คำสั่ง bg สามารถดำเนินการต่อจากงานที่ถูกระงับ (โดยการส่ง SIGCONT ) และทำงานในพื้นหลัง การใช้ คำสั่ง fg จะตั้งค่า กลุ่มกระบวนการ เบื้องหน้าของ เทอร์มินัลควบคุม...