Đây không phải là làm thế nào để thiết lập một tập tin trao đổi?
Tôi nghĩ rằng bạn đã bỏ lỡ một bước ở giữa chmod
và swapon
:
mkswap /mnt/sda2/swapfile
Đối với lỗi oxymoromic ...
hoán đổi: / mnt / sda2 / exchangefile: đọc tiêu đề trao đổi không thành công: Thành công
Điều này có nghĩa đen là có lỗi trong swapon
mã, nhưng không nhất thiết phải liên quan đến chức năng chính của nó.
Các hàm thư viện C thường sử dụng errno , một biến toàn cục lưu mã lỗi. Chính hàm này sẽ trả về một giá trị chỉ ra lỗi xảy ra (bất kỳ lỗi nào) và bản chất chính xác của lỗi đó sẽ được lưu trữ errno
. Ý tưởng là nếu bạn nhận được một dấu hiệu của lỗi, thì bạn có thể kiểm tra giá trị của errno
để xem chính xác nó là gì.
Ngoài ra còn có một strerror()
hàm thư viện sẽ lấy một giá trị errno (chúng là số nguyên) và trả về một chuỗi ngôn ngữ của con người liên quan đến nó. Một trong số đó là Success
, tương ứng với mã lỗi là 0 (nghĩa là không có lỗi).
Vì vậy, khi bạn thấy một cái gì đó như thế này, nó chỉ ra một lỗi như:
- Nhận được một lỗi, sau đó gọi một hàm khác (thành công) đặt lại errno thành 0 phía sau hậu trường, sau đó sử dụng errno để xác định các chi tiết cụ thể của lỗi bạn gặp phải trước khi bạn gọi hàm thứ hai.
Và / hoặc
- Việc vượt qua
strerror()
một biến được cho là đã được gán giá trị của errno tại một thời điểm nào đó (để ngăn ngừa lỗi trước đó xảy ra) nhưng không được.
mkswap
vàerrno
.