Preguntas etiquetadas con posix

POSIX (Portable Operating System Interface) es un conjunto de estándares que definen API de programación, un intérprete de comandos y utilidades comunes para sistemas operativos similares a Unix.

4
¿El archivo adjunto es atómico en UNIX?
En general, ¿qué podemos dar por sentado cuando agregamos a un archivo en UNIX desde múltiples procesos? ¿Es posible perder datos (un proceso sobrescribe los cambios del otro)? ¿Es posible que los datos se estropeen? (Por ejemplo, cada proceso agrega una línea por anexo a un archivo de registro, ¿es …

6
¿Cómo se relaciona SIGINT con las otras señales de terminación como SIGTERM, SIGQUIT y SIGKILL?
En los sistemas POSIX, las señales de terminación suelen tener el siguiente orden (según muchas páginas MAN y las especificaciones POSIX): SIGTERM: solicite cortésmente que finalice el proceso. Terminará elegantemente, limpiando todos los recursos (archivos, sockets, procesos secundarios, etc.), eliminando archivos temporales, etc. SIGQUIT - solicitud más contundente. Terminará sin …
103 linux  unix  posix 






5
¿Por qué existe SIGPIPE?
Según tengo entendido, SIGPIPEsolo puede ocurrir como resultado de a write(), que puede (y lo hace) devolver -1 y establecerse errnoen EPIPE... Entonces, ¿por qué tenemos la sobrecarga adicional de una señal? Cada vez que trabajo con tuberías ignoro SIGPIPEy nunca he sentido ningún dolor como resultado, ¿me estoy perdiendo …
93 posix 





5
¿Snprintf () SIEMPRE termina en nulo?
¿Snprintf siempre es nulo terminando el búfer de destino? En otras palabras, ¿es esto suficiente? char dst[10]; snprintf(dst, sizeof (dst), "blah %s", somestr); ¿O tienes que hacer así, si alguna es lo suficientemente larga? char dst[10]; somestr[sizeof (dst) - 1] = '\0'; snprintf(dst, sizeof (dst) - 1, "blah %s", somestr); …
82 c  posix  libc 

1
¿Por qué el tiempo informado por time () a veces 1 segundo detrás del componente de segundos de timespec_get () en el código C?
El siguiente fragmento de código: struct timespec ts; for (int x = 0; x < 100000000; x++) { timespec_get(&ts, TIME_UTC); long cTime = (long) time(NULL); if (cTime != ts.tv_sec && ts.tv_nsec < 3000000) { printf("cTime: %ld\n", cTime); printf("ts.tv_sec: %ld\n", ts.tv_sec); printf("ts.tv_nsec: %ld\n", ts.tv_nsec); } } produce esta salida: ... cTime: …
12 c  time  posix  timespec 
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.