นี่ไม่ใช่วิธีการตั้งค่าไฟล์สลับหรือไม่
ฉันคิดว่าคุณพลาดขั้นตอนระหว่างchmod
และswapon
:
mkswap /mnt/sda2/swapfile
ในฐานะที่เป็นข้อผิดพลาด oxymoromic ...
swapon: / mnt / sda2 / swapfile: read swap header ล้มเหลว: สำเร็จ
สิ่งนี้หมายถึงอย่างแท้จริงคือมีข้อบกพร่องในswapon
รหัส แต่ไม่จำเป็นต้องเกี่ยวข้องกับการทำงานหลักของมัน
ฟังก์ชั่นห้องสมุด C มักจะใช้ประโยชน์จากerrnoซึ่งเป็นตัวแปรทั่วโลกที่เก็บรหัสข้อผิดพลาด ฟังก์ชั่นที่ตัวเองจะกลับมาเป็นค่าที่ระบุข้อผิดพลาดที่เกิดขึ้น (ข้อผิดพลาดใด ๆ ) errno
และธรรมชาติที่แท้จริงของความผิดพลาดที่จะเก็บไว้ใน แนวคิดคือถ้าคุณได้รับข้อผิดพลาดคุณสามารถตรวจสอบค่าของerrno
เพื่อดูว่ามันคืออะไร
นอกจากนี้ยังมีstrerror()
ฟังก์ชันไลบรารีที่จะใช้ค่า errno (เป็นจำนวนเต็ม) และส่งคืนสตริงภาษามนุษย์ที่เกี่ยวข้อง หนึ่งในนั้นคือSuccess
ซึ่งสอดคล้องกับรหัสข้อผิดพลาด 0 (เช่นไม่มีข้อผิดพลาด)
ดังนั้นเมื่อคุณเห็นบางสิ่งเช่นนี้แสดงว่ามีข้อผิดพลาดเช่น:
- รับข้อผิดพลาดจากนั้นเรียกใช้ฟังก์ชันอื่น (สำเร็จ) ซึ่งรีเซ็ต errno เป็น 0 ที่อยู่เบื้องหลังและใช้ errno เพื่อระบุข้อผิดพลาดเฉพาะที่คุณได้รับก่อนที่คุณจะเรียกใช้ฟังก์ชันที่สอง
และ / หรือ
- ผ่าน
strerror()
ตัวแปรที่ควรได้รับการกำหนดค่าของ errno ในบางจุด (เพื่อป้องกันข้อผิดพลาดก่อนหน้านี้ที่เกิดขึ้น) แต่ไม่ใช่
mkswap
errno