หยุดการทำงานของสคริปต์ Ruby


103

มีวิธีการเช่นexitหรือdieใน PHP ที่หยุดการทำงานของสคริปต์ Ruby หรือไม่?

คำตอบ:


103

อย่างใดอย่างหนึ่งabortหรือexitจะช่วย


3
เช่นเดียวกับที่ @webwurst กล่าวในคำตอบอื่น ๆ ให้ใช้ abort เพื่อระบุจุดสิ้นสุดของสคริปต์ที่ล้มเหลวและออกจากจุดสิ้นสุดที่ประสบความสำเร็จ
Jrgns

85

abortเป็นนามแฝงKernel.exit(false)ที่ยุติการดำเนินการทันที

exitเป็นนามแฝงKernel.exit(true)และยกSystemExitข้อยกเว้นที่อาจถูกจับได้ ยังat_exitทำงานและfinalizersทำงานก่อนที่จะยุติ


7

abortยังสามารถแฮงค์ได้หากมีเธรดที่รออยู่ หากคุณจริงๆต้องการที่จะยุติทันทีลอง:

Process.kill 9, Process.pid

0

FYI สำหรับทับทิมบนรางคุณสามารถใช้อัญมณีนี้ได้ shutupในไดเร็กทอรีรางเรียกใช้คำสั่งนี้ใน bash terminal

gem install shutup

มันจะค้นหา PID ของเซิร์ฟเวอร์รางและฆ่ามัน

และคุณสามารถทำได้ด้วยlsof -wi tcp:3000ในกรณีที่คุณไม่ได้เริ่มเซิร์ฟเวอร์บนพอร์ตอื่นมิฉะนั้นคุณควรเปลี่ยนพอร์ต3000

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