簡體   English   中英

如何在Linux中使用64位匯編程序使用shutdown調用?

[英]how to use shutdown call in linux using assembly programming 64-bit?

我將此程序設置為可執行文件,但系統未關閉。這也需要admin privs。

section .text
global _start
_start:
      mov rax,48 ;shutdown system call
      mov rdi,60 ;time taken to shutdown(1 hour)
      syscall
      mov rax,60
      mov rdi,0
      syscall 

關閉系統調用不會關閉系統。 它實現了shutdown()函數,該函數關閉套接字上的通信。 如果要關閉系統,請使用reboot()系統調用。 有關文檔,請參見reboot(2)

但是,建議您使用適當的參數調用reboot立即關閉系統,而不會給軟件時間正確關閉和同步文件系統的時間。 我強烈建議您通過調用shutdown實用程序來關閉系統,該實用程序根據您的初始化系統執行正確的操作。 如果您不想這樣做,則至少應首先調用sync()以將所有進行中的數據提交到磁盤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM