Articles of linux

¿Cómo puedo obtener valores únicos de una matriz en Bash?

Tengo casi la misma pregunta que aquí . Tengo una matriz que contiene aa ab aa ac aa ad , etc. Ahora quiero seleccionar todos los elementos únicos de esta matriz. Pensamiento, esto sería simple con sort | uniq sort | uniq o con sort -u como mencionan en esa otra pregunta, pero nada cambió […]

¿Por qué las direcciones de memoria virtual para los binarios de Linux comienzan en 0x8048000?

Desarmado de un binario ELF en un sistema Ubuntu x86 No pude evitar observar que la sección del código (.text) comienza desde la dirección virtual 0x8048000 y parece que no se utilizan todas las direcciones de memoria más bajas. Esto parece ser bastante inútil y todo lo que aparece en Google es folklore que involucra […]

¿Cómo acceder al espacio del kernel desde el espacio del usuario?

¿Cómo se diferencia la memoria del usuario y la memoria del kernel dentro del kernel de Linux (en términos de dar seguridad al espacio del kernel)? ¿Cuáles son las diferentes formas en que puedo escribir en el espacio de direcciones del kernel desde el espacio del usuario? Una forma que conozco es a través de […]

Después de bifurcar, ¿se comparten las variables globales?

Considera este código simple: int myvar = 0; int main() { if (fork()>0) { myvar++; } else { // father do nothing } } Cuando child incrementa myvar, ¿se comparte el valor con el padre (como pthread)?

¿Cómo monitorear el espacio disponible del buffer UDP de Linux?

Tengo una aplicación java en Linux que abre el socket UDP y espera mensajes. Después de un par de horas bajo una gran carga, hay una pérdida de paquetes, es decir, los paquetes son recibidos por kernel pero no por mi aplicación (vemos los paquetes perdidos en sniffer, vemos paquetes UDP perdidos en netstat, no […]

Servidor de socket C ++: no se puede saturar la CPU

Desarrollé un mini servidor HTTP en C ++, usando boost :: asio, y ahora estoy cargando la prueba con múltiples clientes y no he podido acercarme a la saturación de la CPU. Estoy probando en una instancia de Amazon EC2 y obteniendo aproximadamente el 50% de uso de una CPU, el 20% de otra, y […]

¿Cómo lidiar con LinkageErrors en Java?

Desarrollando una aplicación Java fuertemente basada en XML, recientemente encontré un problema interesante en Ubuntu Linux. Mi aplicación, utilizando el Marco de complementos de Java , parece incapaz de convertir un documento XML creado por dom4j en la implementación de Batik de la especificación SVG. En la consola, me entero de que se produce un […]

¿Cómo nombrar un hilo en Linux?

Tengo una aplicación de Linux multiproceso escrita en C / C ++. He elegido nombres para mis hilos . Para ayudar a la depuración, me gustaría que estos nombres sean visibles en GDB, “arriba”, etc. ¿Es esto posible y, de ser así, cómo? (Hay muchas razones para saber el nombre del hilo . En este […]

Cómo establecer el nombre de un hilo en Linux pthreads?

¿Hay alguna forma de configurar el nombre de un hilo en Linux? Mi objective principal es que sería útil durante la depuración, y también es bueno si ese nombre se expuso a través de, por ejemplo, /proc/$PID/task/$TID/…

¿Cómo puedo administrar programáticamente las reglas de iptables sobre la marcha?

Necesito consultar las reglas existentes, así como también poder agregar y eliminar reglas fácilmente. No he encontrado ninguna API para hacer esto. ¿Hay algo que me estoy perdiendo? Lo más cerca que he llegado a una solución es usando iptables-save | iptables-xml iptables-save | iptables-xml para consultar y llamar manualmente al comando iptables para agregar […]