เมื่อคุณทำการเปลี่ยนแปลงสคริปต์ของคุณคุณทำการเปลี่ยนแปลงบนดิสก์ (ฮาร์ดดิสก์ - ที่เก็บข้อมูลถาวร); เมื่อคุณรันสคริปต์สคริปต์จะถูกโหลดไปยังหน่วยความจำ (RAM) ของคุณ
ดังนั้นการเปลี่ยนแปลงที่คุณทำกับสคริปต์จะไม่ส่งผลต่อสคริปต์ที่รันอยู่ซึ่งจะรันเวอร์ชันที่คุณเรียกใช้ก่อนที่จะทำการเปลี่ยนแปลงเหล่านั้น
อย่างไรก็ตามเมื่อคุณรันสคริปต์ที่เปลี่ยนแปลงอีกครั้งโดยไม่ยกเลิกอินสแตนซ์ที่รันอยู่ก่อนหน้านี้จะมีอินสแตนซ์สองตัวของสคริปต์ซึ่งมีการเปลี่ยนแปลงและเก่า
ได้รับการเตือนว่าทรัพยากรที่สคริปต์ใช้และแก้ไขจะขัดแย้งกัน ตัวอย่างเช่นหากคุณกำลังแก้ไขไฟล์โดยใช้สคริปต์สคริปต์ที่รันในภายหลังจะไม่สามารถเปิดไฟล์นั้นเพื่อการเขียนและล้มเหลวในการดำเนินการอย่างถูกต้อง
อัปเดต:
ขอบคุณผู้ใช้ที่ลงทะเบียนสำหรับการชี้ให้ฉันตอบที่ดีกว่าใน Unix.stackexchange.com
ขึ้นอยู่กับขนาดของสคริปต์และคอมไพเลอร์ / ล่ามในคำถามสคริปต์ถูกโหลดบางส่วน / สมบูรณ์ ดังนั้นหากโหลดสคริปต์ไม่สมบูรณ์การเปลี่ยนแปลงที่คุณทำกับสคริปต์ของคุณจะสะท้อนถึงอินสแตนซ์ที่กำลังทำงานอยู่เมื่อโหลดสคริปต์บางส่วนลงในหน่วยความจำ
ดังนั้นจึงไม่แนะนำให้เปลี่ยนสคริปต์ของคุณบนดิสก์ที่ทำงานอยู่ในขณะนี้สำหรับผลลัพธ์ที่ไม่สามารถคาดเดาได้: หยุดอินสแตนซ์ที่กำลังทำงานอยู่ก่อนจากนั้นปรับเปลี่ยนสคริปต์ของคุณจากนั้นเรียกใช้สคริปต์อีกครั้ง