Câu hỏi được gắn thẻ «system-calls»

Các câu hỏi liên quan đến chi tiết về cách chương trình sử dụng các cuộc gọi hệ thống để tương tác với API kernel, những cuộc gọi nào khả dụng, cách chúng hoạt động, v.v.


2
Sự khác biệt giữa fork () và vfork () là gì?
Tôi muốn hiểu chi tiết về sự khác biệt giữa fork () và vfork (). Tôi đã không thể tiêu hóa hoàn toàn trang người đàn ông. Tôi cũng muốn làm rõ một trong những đồng nghiệp của tôi nhận xét " Trong Linux hiện tại, không có vfork (), …



2
Tại sao không có tòa nhà chèn tập tin
Theo hiểu biết của tôi, để thao tác các tệp chỉ có sys_write syscall trong Linux, ghi đè lên nội dung tệp (hoặc mở rộng nó, nếu ở cuối). Tại sao không có các tòa nhà để chèn hoặc xóa nội dung trong các tệp trong Linux? Vì tất cả …




1
Việc sử dụng các đối số ma thuật của người dùng trong cuộc gọi hệ thống khởi động lại Linux là gì?
Khi tôi đang đọc mã nguồn Linux, và cụ thể hơn là mã gọi hệ thống, tôi đã bắt gặp sys_reboottriển khai: http://lxr.free-electrons.com/source/kernel/reboot.c#L199 . 199 SYSCALL_DEFINE4(reboot, int, magic1, int, magic2, unsigned int, cmd, 200 void __user *, arg) 201 { 202 ... ... 286 } Ở giữa, có đoạn mã …

1
Tại sao rmdir và hủy liên kết hai cuộc gọi hệ thống riêng biệt?
Đây là một cái gì đó khiến tôi băn khoăn một lúc: [15:40:50][/tmp]$ mkdir a [15:40:52][/tmp]$ strace rmdir a execve("/usr/bin/rmdir", ["rmdir", "a"], [/* 78 vars */]) = 0 brk(0) = 0x11bb000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ff3772c3000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", …

2
`EINTR`: có một lý do đằng sau nó?
Nói nhỏ làm nền EINTRlà lỗi mà cái gọi là các cuộc gọi hệ thống ngắt có thể quay trở lại. Nếu tín hiệu xảy ra trong khi cuộc gọi hệ thống đang chạy, tín hiệu đó không bị bỏ qua và trình xử lý tín hiệu được xác định …

4
Khi nào nên gọi fork () và exec ()?
Tôi đang tìm hiểu về các lệnh fork () và exec (). Có vẻ như fork () và exec () thường được gọi cùng nhau. (fork () tạo một quy trình con mới và exec () thay thế hình ảnh quy trình hiện tại bằng một quy trình mới.) Tuy …


2
Tập tin nào trong kernel chỉ định fork (), vfork () 'để sử dụng lệnh gọi hệ thống sys_clone ()
Khi ltrace được sử dụng để theo dõi các cuộc gọi hệ thống, tôi có thể thấy fork () sử dụng sys_clone () thay vì sys_fork (). Nhưng tôi không thể tìm thấy nguồn linux nơi nó được định nghĩa. Chương trình của tôi là #include<stdio.h> main() { int pid,i=0,j=0; …


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.