Articles of linux

Manejo de falla de segmentación

Tengo una aplicación que uso para detectar cualquier falla de segmentación o ctrl-c. Utilizando el siguiente código, puedo detectar la falla de segmentación, pero se llama al manejador una y otra vez. ¿Cómo puedo detenerlos? Para su información, no quiero salir de mi aplicación. Solo puedo cuidar de liberar todos los búferes corruptos. ¿Es posible? […]

fork () y salida

Tengo un progtwig simple: int main() { std::cout << " Hello World"; fork(); } Después de que el progtwig se ejecuta mi salida es: Hello World Hello World . ¿Por qué sucede esto en lugar de un solo Hello world ? Supongo que el proceso secundario se vuelve a ejecutar detrás de escena y que […]

Comparación de punto flotante en Shell Script

¿Puede sugerirme la syntax para hacer una comparación de punto flotante en un script de Bash? Idealmente, me gustaría utilizarlo como parte de una statement if . Aquí hay un pequeño fragmento de código: key1=”12.3″ result=”12.2″ if (( $result <= $key1 )) then # some code here fi

Manejo de múltiples SIGCHLD

En un sistema que ejecuta Linux 2.6.35+, mi progtwig crea muchos procesos secundarios y los monitorea. Si un proceso secundario muere, hago algunas tareas de limpieza y vuelvo a generar el proceso. Uso signalfd() para obtener la señal SIGCHLD en mi proceso. signalfd se usa de forma asincrónica usando libevent . Al usar manejadores de […]

cómo ejecutar un comando en la terminal del progtwig java?

Necesito ejecutar un comando en la terminal en Fedora 16 desde un progtwig JAVA. Intenté usar Runtime.getRuntime().exec(“xterm”); pero esto solo abre la terminal, no puedo ejecutar ningún comando. También intenté esto: OutputStream out = null; Process proc = new ProcessBuilder(“xterm”).start(); out = proc.getOutputStream(); out.write(“any command”.getBytes()); out.flush(); pero aún así solo puedo abrir el terminal, pero […]

Recepción de múltiples transmisiones de multidifusión en el mismo puerto: C, Linux

Tengo una aplicación que está recibiendo datos de múltiples fonts de multidifusión en el mismo puerto. Puedo recibir los datos. Sin embargo, estoy tratando de dar cuenta de las estadísticas de cada grupo (es decir, los mensajes recibidos, los bytes recibidos) y todos los datos se mezclan. ¿Alguien sabe cómo resolver este problema? Si trato […]

Simular pulsación de tecla en una aplicación de consola Linux C

¿Hay alguna manera de simular una pulsación de tecla en Linux con C? En mi situación específica, estoy en Ubuntu 9.04 y necesito una aplicación simple que invoca presionar el botón “pausa” cuando se inicia. Eso conseguiría un iframe en Firefox para actualizar usando Javascript.

¿Es seguro renombrar () sin fsync ()?

¿Es seguro llamar a rename(tmppath, path) sin llamar a fsync(tmppath_fd) primero? Quiero que la ruta siempre apunte a un archivo completo. Me preocupa principalmente sobre Ext4 . ¿El rename () promete ser seguro en todas las futuras versiones del kernel de Linux? Un ejemplo de uso en Python: def store_atomically(path, data): tmppath = path + […]

¿Dónde se define PATH_MAX en Linux?

¿Qué archivo de encabezado debo invocar con #include para poder usar PATH_MAX como int para dimensionar una cadena? Quiero poder declarar: char *current_path[PATH_MAX]; Pero cuando lo hago, mi comstackdor (Clang / LLVM en Linux) emite el siguiente error: recursive_find6.c:29:20: error: use of undeclared identifier ‘PATH_MAX’ char *current_path[PATH_MAX]; ^ Intenté hacer una búsqueda en Google, pero […]

Error: La dirección ya está en uso mientras se vincula el socket con la dirección pero el número de puerto se muestra gratis con `netstat`

Traté de enlazar mi socket (socket del servidor) en el puerto número 8000 . Funcionó e hizo el trabajo por mí. Al final del código también cierro el socket. El siguiente instante corro mi código nuevamente y me muestra que la dirección ya está en uso. He impreso el significado de los valores de error […]