จะตรวจสอบได้อย่างไรว่าหน้าจอกำลังทำงานอยู่โดยไม่ต้องติดมัน?


0

ฉันเขียนzshสคริปต์ที่เปิดตัวหน้าจอจำนวนมากและรันคำสั่งที่แตกต่างกันในแต่ละรายการ เมื่อสคริปต์ทำงานมีทั้งหมด 72 หน้าจอดังนั้นการตรวจสอบว่า a jobเสร็จแล้วหรือไม่ด้วยตนเองเป็นงานที่ต้องใช้เวลามาก ฉันสามารถเรียกใช้สคริปต์แยกต่างหากที่จะตรวจสอบว่าเซสชันของหน้าจอมีการทำงานอยู่หรือไม่และฆ่าเซสชันเมื่อไม่มีงานที่ทำอยู่ คุณมีความคิดใด ๆ ฉันไม่สามารถคิดถึงวิธีการใด ๆ ที่เชื่อถือได้ตรวจสอบสิ่งที่เกิดขึ้นในทุกเซสชันหน้าจอขอบคุณล่วงหน้า


คุณจะรันเซสชันหน้าจอได้อย่างไร เป็นไปไม่ได้หรือที่คำสั่งที่เรียกใช้ในเซสชันจะยกเลิกเซสชันด้วยตนเอง
mpy

คำตอบ:


1

ฉันนึกภาพออกว่าคุณสมบัติการบันทึกผลลัพธ์ของหน้าจอสามารถช่วยให้คุณทำสิ่งนี้ได้สำเร็จ (ดูรายละเอียดเพิ่มเติมจากman page ) คุณสามารถสร้างบันทึกผลลัพธ์ของเซสชันของคุณและตรวจสอบเพื่อดูว่างานของคุณเสร็จสิ้นแล้วหรือไม่

หรือคุณสามารถตรวจสอบทรีของกระบวนการที่กำลังทำงานอยู่ (เช่นการใช้pstree) เพื่อดูว่าเชลล์ภายในเซสชั่นหน้าจอยังมีเด็กที่รันอยู่หรือไม่ อย่างไรก็ตามฉันสามารถจินตนาการได้ว่าการวิเคราะห์เอาต์พุตpstreeในสคริปต์นั้นยุ่งยากและเกิดข้อผิดพลาดได้ง่ายดังนั้นคุณอาจต้องการใช้เคอร์เนลอินเตอร์เฟส (เพื่อให้ได้แผนผังกระบวนการทำงาน)


ขอบคุณคุณลักษณะการบันทึกผลลัพธ์เป็นสิ่งที่ดี แต่ฉันต้องการที่จะยุติหน้าจอที่ไม่ได้ใช้งานโดยอัตโนมัติด้วยความช่วยเหลือของสคริปต์อื่น
Vesnog

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