Domande taggate «system-calls»

Domande relative ai dettagli su come un programma utilizza le chiamate di sistema per interagire con l'API del kernel, quali chiamate sono disponibili, come funzionano ecc.


2
Qual è la differenza tra fork () e vfork ()?
Vorrei capire in dettaglio la differenza tra fork () e vfork (). Non sono riuscito a digerire completamente la pagina man. Vorrei anche chiarire uno dei miei colleghi commentando " Nell'attuale Linux, non esiste vfork (), anche se lo chiami, chiamerà internamente fork () ."

2
Equivalente di "truss -T" e "truss -U" su Linux?
Esiste un equivalente di ciò che fa l' opzione -Te dell'utilità Solaris su Linux.-Utruss Quelli devono specificare una chiamata di sistema ( -T) o una funzione di libreria ( -U) che quando viene chiamata dall'applicazione tracciata ne causerebbe l'arresto. Oppure, detto diversamente, vorrei che qualsiasi processo avviato da un'applicazione tracciata …






1
Qual è l'uso di "argomenti magici" nella chiamata di sistema al riavvio di Linux?
Mentre stavo leggendo il codice sorgente di Linux, e più precisamente il codice delle chiamate di sistema, mi sono imbattuto sys_rebootnell'implementazione: 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 } Nel mezzo, c'è questo specifico pezzo …

1
Perché rmdir e scollegano due chiamate di sistema separate?
Ecco qualcosa che mi ha fatto riflettere per un po ': [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", O_RDONLY|O_CLOEXEC) …

4
Quando chiamare fork () ed exec () da soli?
Sto imparando i comandi fork () ed exec (). Sembra che fork () e exec () siano generalmente chiamati insieme. (fork () crea un nuovo processo figlio ed exec () sostituisce l'immagine del processo corrente con una nuova.) Tuttavia, in quali scenari potresti chiamare ciascuna funzione da sola? Ci sono …


2
Quale file nel kernel specifica fork (), vfork ()… per usare la chiamata di sistema sys_clone ()
Quando ltrace viene utilizzato per tracciare le chiamate di sistema, vedo che fork () usa sys_clone () anziché sys_fork (). Ma non sono riuscito a trovare il sorgente Linux dove è definito. Il mio programma è #include<stdio.h> main() { int pid,i=0,j=0; pid=fork(); if(pid==0) printf("\nI am child\n"); else printf("\nI am parent\n"); …


1
Per cosa dovrei usare `O_PATH` e come?
Uso una distribuzione basata su Linux 4.x e di recente ho notato che la open()chiamata di sistema del kernel supporta un O_PATHflag aperto. Sebbene la manpagina abbia un elenco di chiamate di sistema con cui potrebbe teoricamente essere utilizzata, non capisco bene quale sia l'idea. Devo open(O_PATH)solo le directory anziché …

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.