Articles of linux

Usando kbhit () y getch () en Linux

En Windows, tengo el siguiente código para buscar la entrada sin interrumpir el ciclo: #include #include #include int main() { while (true) { if (_kbhit()) { if (_getch() == ‘g’) { std::cout << "You pressed G" << std::endl; } } Sleep(500); std::cout << "Running" << std::endl; } } Sin embargo, viendo que no hay conio.h […]

Cómo detener los eventos repetidos de keyPressed () / keyReleased () en Swing

Entonces, el problema que estoy teniendo parece ser un error que ocurre solo en Linux. Intento que mi aplicación swing se grabe cuando se presiona una tecla, luego para detectar cuándo se suelta esa tecla. Ahora eso no debería estar en cuestión porque se supone que KeyListener manejará esto por mí. El problema es que […]

¿La restricción de “lista de argumentos demasiado larga” se aplica a los shell builtins?

He navegado a través de muchas publicaciones en Stack Overflow, así como en algunas comunidades relacionadas con la argument list too long tema argument list too long y no parece saber claramente si la restricción de longitud se aplica a los builtins de shell o no. Digamos que quiero pasar una cadena muy larga a […]

¿Los procesos hijos bifurcados usan el mismo semáforo?

Digamos que creo un semáforo. Si doy varios procesos hijos, ¿seguirán usando el mismo semáforo? Además, supongamos que creo una estructura con semáforos dentro y bifurcada. ¿Todos los procesos hijo todavía usan ese mismo semáforo? De lo contrario, ¿almacenar los struct + semáforos en la memoria compartida permitirá que los procesos secundarios usen los mismos […]

cómo llamar a la función en ejecutable desde mi biblioteca?

Tengo un ejecutable y una biblioteca dinámica (.so). La biblioteca exporta algunos símbolos y ejecuta llamadas con éxito. Pero quiero hacer posible las funciones ejecutables de la biblioteca. Intenté hacer lo siguiente en ejecutable: //test extern “C” void print(const char * str) { std::cout << str << std::endl; } y esto en la biblioteca: extern […]

Cómo esperar la salida de procesos no secundarios

Para procesos secundarios, las funciones wait() y waitpid() pueden utilizarse para suspender la ejecución del proceso actual hasta que un elemento secundario haya salido. Pero esta función no se puede usar para procesos que no sean secundarios. ¿Hay otra función que pueda esperar a la salida de cualquier proceso?

¿Por qué `\ d` no funciona en expresiones regulares en sed?

Estoy tratando de usar \d en regex in sed pero no funciona: sed -re ‘s/\d+//g’ Pero esto está funcionando: sed -re ‘s/[0-9]+//g’

Establecer variables de entorno en C

¿Hay alguna manera de establecer variables de entorno en Linux usando C? Intenté setenv() y putenv() , pero no parecen funcionar para mí.

¿Cómo acceder a mmaped / dev / mem sin colapsar el kernel de Linux?

Tengo un progtwig simple que intenta acceder a la memoria física en el espacio de usuario, donde el núcleo almacena la primera página de la estructura. En una máquina de 64 bits, esta dirección es: dirección virtual del kernel: ffffea0000000000 dirección física: 0000620000000000 Estoy intentando acceder a esta dirección física a través de mmap en […]

Cómo mapear un buffer del kernel de Linux al espacio del usuario?

Digamos que el buffer se asigna usando un esquema basado en página. Una forma de implementar mmap sería usar remap_pfn_range pero LDD3 dice que esto no funciona para la memoria convencional. Parece que podemos evitar esto marcando las páginas reservadas utilizando SetPageReserved para que se bloquee en la memoria. Pero, ¿no es toda la memoria […]