Articles of linux

Script Bash: intérprete malo

Pregunta: Recibo este mensaje de error: exportar: intérprete incorrecto: no existe tal archivo o directorio cuando ejecuto este script bash: #!/bin/bash MONO_PREFIX=/opt/mono-2.6 GNOME_PREFIX=/opt/gnome-2.6 export DYLD_LIBRARY_PATH=$MONO_PREFIX/lib:$DYLD_LIBRARY_PATH export LD_LIBRARY_PATH=$MONO_PREFIX/lib:$LD_LIBRARY_PATH export C_INCLUDE_PATH=$MONO_PREFIX/include:$GNOME_PREFIX/include export ACLOCAL_PATH=$MONO_PREFIX/share/aclocal export PKG_CONFIG_PATH=$MONO_PREFIX/lib/pkgconfig:$GNOME_PREFIX/lib/pkgconfig PATH=$MONO_PREFIX/bin:$PATH PS1=”[mono-2.6] \w @ ” Pero el camino de bash parece ser correcto: asshat@IS1300:~/sources/mono-2.6# which bash /bin/bash asshat@IS1300:~# cd sources/ asshat@IS1300:~/sources# cd […]

¿Por qué el indicador del enlazador de la biblioteca a veces tiene que ir al final usando GCC?

Estoy escribiendo un pequeño progtwig de C que usa librt. Estoy bastante sorprendido de que el progtwig no se compile si coloco el indicador de enlace al comienzo en lugar de al final: Por el momento, para comstackr el progtwig que hago: gcc -o prog prog.c -lrt -std=gnu99 Si tuviera que hacer lo siguiente, no […]

¿Cómo abrir un terminal de comando en Linux?

Quiero abrir el terminal (símbolo del sistema) en una máquina Linux usando código Java. Sé cómo abrir el símbolo del sistema en Windows. El siguiente código lo he usado en Windows String command= “cmd c/start cmd.exe” Runtime rt = Runtime.getRuntime(); Process pr = rt.exec(command); Necesito lo mismo en Linux. Gracias por tus respuestas. Me gustaría […]

ioctl vs netlink vs memmap para comunicarse entre el espacio del kernel y el espacio de usuario

Obtuvimos información de estadísticas de nuestro hardware personalizado para que se muestre cada vez que el usuario solicite el uso de un comando en el espacio de usuario de Linux. Esta implementación actualmente utiliza la interfaz PROC. Comenzamos a agregar más información estadística y luego encontramos un problema en el que el comando de estadísticas […]

SO_RCVTIME y SO_RCVTIMEO no afectan las operaciones de Boost.Asio

A continuación está mi código boost::asio::io_service io; boost::asio::ip::tcp::acceptor::reuse_address option(true); boost::asio::ip::tcp::acceptor accept(io); boost::asio::ip::tcp::resolver resolver(io); boost::asio::ip::tcp::resolver::query query(“0.0.0.0”, “8080”); boost::asio::ip::tcp::endpoint endpoint = *resolver.resolve(query); accept.open(endpoint.protocol()); accept.set_option(option); accept.bind(endpoint); accept.listen(30); boost::asio::ip::tcp::socket ps(io); accept.accept(ps); struct timeval tv; tv.tv_sec = 1; tv.tv_usec = 0; //setsockopt(ps.native(), SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv)); setsockopt(ps.native(), SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)); char buf[1024]; ps.async_receive(boost::asio::buffer(buf, 1024), boost::bind(fun)); io.run(); Cuando uso Telnet […]

¿Cómo usar printf para mostrar off_t, nlink_t, size_t y otros tipos especiales?

En mi progtwig, coloco los archivos que quieren y envío los datos. Los campos de una struct estadísticas son todos tipos especiales: struct stat { dev_t st_dev; /* ID of device containing file */ ino_t st_ino; /* inode number */ mode_t st_mode; /* protection */ nlink_t st_nlink; /* number of hard links */ uid_t st_uid; […]

Tubería de datos al progtwig Linux que espera un TTY (terminal)

Tengo un progtwig en Linux que se niega a ejecutar si su stdin / stdout no es un TTY (terminal device). ¿Existe alguna herramienta fácil de usar que cree un PTY, inicie el progtwig con el TTY recién creado y copie todos los datos a través de stdin / stdout? El caso de uso no […]

¿Cómo encuentro la zona horaria del sistema actual?

En Linux, necesito encontrar la zona horaria configurada actualmente como una ubicación Olson. Quiero que mi código (C o C ++) sea portátil para tantos sistemas Linux como sea posible. Por ejemplo. Vivo en Londres, por lo que mi ubicación actual de Olson es “Europa / Londres”. No estoy interesado en ID de zona horaria […]

Cómo establecer la velocidad en baudios a 307200 en Linux?

Básicamente estoy usando el siguiente código para establecer la velocidad en baudios de un puerto serie: struct termios options; tcgetattr(fd, &options); cfsetispeed(&options, B115200); cfsetospeed(&options, B115200); tcsetattr(fd, TCSANOW, &options); Esto funciona muy bien Pero sé que tengo que comunicarme con un dispositivo que usa una velocidad en baudios de 307200. ¿Cómo puedo configurar eso? cfsetispeed(&options, B307200); […]

Cómo verificar el tamaño del montón para un proceso en Linux

Estaba escribiendo un código y siguió fallando. Más tarde, después de cavar los vertederos, me di cuenta de que estaba sobrepasando el límite máximo de heap (la vida hubiera sido más fácil si hubiera agregado un cheque en malloc). Aunque lo arreglé, ¿hay alguna manera de boost mi tamaño de almacenamiento dynamic? PD: Una pregunta […]