Articles of linux

¿Cómo puedo obtener el número de núcleo de la CPU desde una aplicación de espacio de usuario (Linux, C)?

Es de suponer que hay una biblioteca o simple blob asm que me puede dar el número de la CPU actual que estoy ejecutando.

Cómo perfil de uso de memoria?

Estoy al tanto de Valgrind, pero solo detecta problemas de administración de memoria. Lo que estoy buscando es una herramienta que me da una visión general, qué partes de mi progtwig consumen cuánta memoria. Una representación gráfica con, por ejemplo, un mapa de árbol (como hace KCachegrind para Callgrind) sería genial. Estoy trabajando en una […]

¿Por qué no puedo usar Unix Nohup con Bash For-loop?

Por ejemplo, esta línea falla: $ nohup for i in mydir/*.fasta; do ./myscript.sh “$i”; done > output.txt& -bash: syntax error near unexpected token `do ¿Cuál es la forma correcta de hacerlo?

Obtener ciclos de CPU usando RDTSC: ¿por qué el valor de RDTSC siempre aumenta?

Quiero obtener los ciclos de la CPU en un punto específico. Yo uso esta función en ese punto: static __inline__ unsigned long long rdtsc(void) { unsigned long long int x; __asm__ volatile (“.byte 0x0f, 0x31” : “=A” (x)); return x; } El problema es que devuelve siempre un número creciente (en cada ejecución). Es como […]

Código de auto modificación siempre fallas de segmentación en Linux

Encontré un artículo sobre el código de auto modificación e intenté hacer algunos ejemplos, pero siempre recibo fallas de segmentación. Hasta donde puedo entender, hay una violación en los permisos de memoria. El segmento de código es (r) ead / e (x) ecute y, por lo tanto, el bash de escribir da como resultado este […]

¿Cómo extraer solo los contenidos brutos de una sección ELF?

He intentado lo siguiente, pero el archivo resultante sigue siendo un ELF y no solo el contenido de la sección. $ objcopy –only-section= Solo quiero el contenido de la sección. ¿Hay alguna utilidad que pueda hacer esto? ¿Algunas ideas?

¿Cómo se escribe un progtwig C para ejecutar otro progtwig?

En Linux, me gustaría escribir un progtwig en C que lanza otro progtwig. Cuando se ejecuta el progtwig, el intérprete de comandos estará esperando que ingrese un comando que haya definido en su progtwig. Este comando lanzará el segundo progtwig. Por ejemplo, supongamos que hay un progtwig simple de C llamado “hola” en el mismo […]

¿Cómo paso un parámetro comodín a un archivo bash?

Intento escribir un script bash que permita al usuario pasar una ruta de directorio usando comodines. Por ejemplo, bash show_files.sh * cuando se ejecuta dentro de este directorio drw-r–r– 2 root root 4.0K Sep 18 11:33 dir_a -rw-r–r– 1 root root 223 Sep 18 11:33 file_b.txt -rw-rw-r– 1 root root 106 Oct 18 15:48 file_c.sql […]

colas de señal en C

Tengo un progtwig simple en Linux que envía la señal SIGUSR1 a su proceso secundario en un ciclo. Pero cuando envío, por ejemplo, 10 señales, a veces sucede, que el niño recibió solo 3 de ellas. La última señal enviada es siempre SIGUSR2 y se recibe siempre. ¿Las colas están en cola, o cuando el […]

¿Hay una mejor manera de analizar / proc / self / maps para descubrir la protección de la memoria?

En Linux (o Solaris) hay una manera mejor que la de analizar a mano /proc/self/maps varias veces para averiguar si puede o no leer, escribir o ejecutar lo que está almacenado en una o más direcciones en la memoria. Por ejemplo, en Windows tienes VirtualQuery . En Linux, puedo mprotect para cambiar esos valores, pero […]