¿Qué es lo opuesto a 'mknod'?
Estoy aprendiendo a escribir controladores de dispositivos de caracteres desde la Guía de Programación del Módulo del Núcleo , y usé mknod
para crear un nodo en /dev
para hablar con mi controlador.
Sin embargo, no puedo encontrar ninguna manera obvia de eliminarlo, después de revisar la página de manual y observar que rmnod
es un comando inexistente.
¿Cuál es la forma correcta de revertir el efecto de mknod
, y eliminar con seguridad el nodo creado en /dev
?
2 answers
El comando correcto es solo rm
:)
Un nodo de dispositivo creado por mknod
es solo un archivo que contiene un número mayor y menor de dispositivo. Cuando accedes a ese archivo la primera vez, Linux busca un controlador que anuncie ese mayor/menor y lo carga. Su controlador entonces maneja todas las E / S con ese archivo.
Cuando elimina un nodo de dispositivo, se aplica el comportamiento habitual del archivo Un * x: Linux esperará hasta que no haya más referencias al archivo y luego se eliminará de disco.
Su conductor realmente no nota nada de esto. Linux no descarga automáticamente los módulos. Su conductor simplemente ya no recibirá solicitudes para hacer nada. Pero estará listo en caso de que alguien vuelva a crear el nodo del dispositivo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-10 19:41:51
Probablemente esté buscando una función en lugar de un comando. unlink() es la respuesta. unlink () eliminará el archivo/archivo especial si ningún proceso tiene el archivo abierto. Si algún proceso tiene el archivo abierto, entonces el archivo permanecerá hasta que se cierre el último descriptor de archivo que hace referencia a él. Leer más aquí: http://man7.org/linux/man-pages/man2/unlink.2.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-09 19:24:24