prctl
Nombre de la prueba: prctl
Número Syscall: 172
Nombre syscall: prctl (hombre)
Nombre del archivo: prctl.txt (1225 bytes)
* Descripción * * * int la prctl (int opción, sin firmar arg2 largo, Arg3 sin firmar largo, largo ARG4 sin firmar, a largo Arg5 sin firmar) instrucciones de llamada Este sistema está diseñado para el proceso de desarrollar una clara elección depende de la opción: PR_GET_PDEATHSIG: proceso de retorno señal; PR_SET_PDEATHSIG: arg2 es entrada como un pdeath procesador de señales, como su nombre implica, no puede ser reutilizado si el proceso primario, el proceso de recibir esta señal. PR_GET_DUMPABLE: Devuelve las banderas de procesador dumpable; PR_SET_DUMPABLE: arg2 es entrada como un dumpable bandera procesador. PR_GET_NAME: Devuelve el nombre del proceso que llama al proceso parámetros arg2; (Desde Linux 2.6.9) PR_SET_NAME: el argumento arg2 tan a menudo el nombre del proceso que llama. (Desde Linux 2.6.11) PR_GET_TIMING: PR_SET_TIMING: determinación y modo de sincronización de proceso de modificación para permitir que el modo tradicional de temporización proceso PR_TIMING_STATISTICAL, o para permitir modo de sincronización de proceso basado en el sello de tiempo PR_TIMING_TIMESTAMP. funciones CAP_CHOWN: funciones del sistema definidos en un _POSIX_CHOWN_RESTRICTED. Esto va a cambiar todo lo largo de los permisos del sistema de archivos y propietario del grupo CAP_DAC_OVERRIED función: Si _POSIX_ACL define, a través de todos DAC de acceso, incluyendo acceso de ejecución del LCA, con función de CAP_LINUX_IMMUTABLE para excluir el acceso DAC función CAP_DAC_READ_SEARCH: Si _POSIX_ACL definición leerá en todas las restricciones del CAD, y en todos archivo y directorio de búsqueda, incluyendo las restricciones de ACL. DAC con CAP_LINUX_IMMUTABLE para restringir el acceso función CAP_FOWNER: documento cruzado dice que algunos límite permitido, como el ID de propietario del archivo y el ID de usuario debe ser el mismo, excepto CAP_FSETID disponible. Que no cruza el límite MAC y DAC Función CAP_FSETID: cruzado cuando archivo de configuración S_ISUID y los bits S_ISGID, ID de usuario debe coincidir con el ID de propietario y de los límites establecidos posición S-ISGID cuando el ID de grupo debe ser el propietario de la ID coincidir con las limitaciones establecidas por S_ISUID chown a las limitaciones funcionales y S_ISGID función CAP_FS_MASK: como respuesta a la suser () o fsuser (). CAP_KILL características: Debe coincidir con un ID de usuario válido cuando se envía una señal de un ID de usuario válido de la función de proceso cruzará función CAP_SETGID: permite setgid () que permite setgroups () permite gid falsificados en el zócalo en función de la capacidad CAP_SETUID: permiten establece * uid () función permite la falsificación en el zócalo pid CAP_SETPCAP cuenta: todas las licencias a todos los pid. O la totalidad de la licencia eliminación función CAP_LINUX_IMMUTABLE: Permite cambiar S_IMMUTABLE y el archivo S_APPEND atribuye la función CAP_NET_BIND_SERVICE: permitir la unión bajo TCP 1024 / UDP sockets función CAP_NET_BROADCAST: permite la difusión, multidifusión oyente función CAP_NET_ADMIN: le permite configurar la interfaz IP enmascaramiento de IP permite cortafuegos gestión y la cuenta le permite opción de socket de depuración configure que le permite modificar la tabla de enrutamiento permite que el conjunto de propiedades en el proceso de configuración del socket de permitir que el proxy transparente se unen todas las direcciones permite la configuración de TOS (Type of Service) le permite configurar el modo promiscuo permite al conductor claro estado de permiso multidifusión permite que el sistema de lectura o escritura de grabación cuenta con CAP_NET_RAW: permite conector directo permite una toma de corriente con el paquete de la función CAP_IPC_LOCK: permitir que el segmento de memoria compartida palanca de bloqueo permite mlock y mlockall Función CAP_IPC_OWNER: cruzado cheques de propiedad IPC funciones CAP_SYS_MODULE: inserción o eliminación de kernel módulo CAP_SYS_RAWIO características: Permitir ioperm / iopl y / dev prot / acceso está permitido a / dev / mem y / dev / kmem acceso permite que los dispositivos de bloques de acceso (/ dev / [sh ] d ??) la función CAP_SYS_CHROOT: permite chroot () la función CAP_SYS_PTRACE: permite ptrace () de cualquier proceso de función CAP_SYS_PACCT: le permite configurar la auditoría de proceso de funciones CAP_SYS_ADMIN: le permite configurar la clave de seguridad Permite dispositivo aleatorio de gestión permite la gestión de dispositivos le permite comprobar y configurar la cuota de disco le permite configurar el registro del núcleo que permite al dominio de configuración le permite configurar el nombre de host permite que el bdflush llamante () comando permite que el montaje () y umount () de comandos que permite la conexión Configuración de SMB permite que los ioctls raíz permiten nfsservctl permitidos VM86_REQUEST_IRQ permite leer y escribir en alfa pci dispuesto para permitir que los MIPS en irix_prctl permiten ras todo m68k caché puede eliminar semáforos para reemplazar con CAP_CHOWN "chown" IPC colas de mensajes, bandera memoria compartida y permitir el bloqueo o desbloqueo del segmento de memoria compartida permite intercambio de conmutación permitiendo que los PID de camuflaje zócalo permite dispositivo de bloque de actualización de caché proporcionado para permitir que una unidad de disco está previsto para permitir que el interruptor interruptor de DMA permite que el dispositivo de gestión md permite la administración de unidades IDE Dispositivo que permite el acceso NVRAM permite apm_bios de gestión, serial o bttv aparato de televisión permite la generación de comandos en el controlador CAPI RDSI permite la lectura de configuración no estándar PCI permite la depuración de DDI ioctl permitido transmitir QIC-117 de comandos permite el control SCSI para activar o desactivar la transmisión y comandos SCSI que permite al sistema de archivo de la contraseña de configuración cifrada en el circuito de la función CAP_SYS_BOOT: permite iniciar el sistema () comando de la función CAP_SYS_NICE: para permitir o para establecer prioridades para mejorar otros procesos que permitan en su propio proceso con FISO y la programación y configuración en tiempo real función CAP_SYS_RESOURCE: recursos cruzados límite, los límites de recursos establecidos más allá de las restricciones de cuotas ext2 sistema de archivos a través de retenida mayor permitido que las interrupciones de reloj de 64 Hz en tiempo real a través del mayor número de terminales de control a través del mayor número de clave de la función CAP_SYS_TIME: permite que el reloj del sistema de procesamiento permite _stime le permite configurar el reloj en tiempo real función CAP_SYS_TTY_CONFIG: permite Configuración del dispositivo terminal Deje vhangup terminal () Valor devuelto Devuelve 0 si tiene éxito o 1. PR_GET_DUMPABLE y PR_GET_KEEPCAPS. Otros valores de las opciones son 0 si tiene éxito. -1 si un error, y establecer el número de error correspondiente. EINVAL ---- valor de la opción es incorrecta, o si se trata de PR_SET_PDEATHSIG, el valor del parámetro no es 0 o arg2 señal digital. descriptor EBADF no válida ----
Traslado desde el siguiente: http: //blog.chinaunix.net/u/5251/showart.php id = 2087202?
Para aplicaciones de subprocesos múltiples, si podemos dar a cada hilo de llamada, entonces la conveniencia de depuración es evidente por sí mismo.
Hoy en día para ver semanalmente en LWN, prctl para ver a alguien que se añade a los otros hilos dentro de un proceso llamado de interfaces, y hemos aprendido, con el mismo hilo interfaz llamada ya existe, no pudo evitar reír, a continuación, escribe el siguiente código de verificación:
|
1 '' de función prototipos "
#include <sys / prctl.h>
int prctl (opción int, arg2 unsigned long, arg3 largo sin signo, arg4 largo sin signo, sin signo arg5 largo);
2 "" función ""
prctl (PR_SET_NAME, “process_name”)
El primer parámetro es el tipo de operación, PR_SET_NAME designado, a saber el establecimiento de nombre de proceso
El segundo parámetro es el nombre del proceso de cuerda, una longitud de hasta 16 bytes
OK, muy simple!
3 "" Ejemplos ""
setPthreadName vacío (char * nombre)
{
SI (nombre! = null)
{
(void) PRCT (15, (largo sin signo) nombre); // lname hasta 16 caracteres
}
}
----------------
Aviso: Este artículo es la versión original RDCC bloggers "bad_good_man", y seguimiento 4.0 CC BY-SA acuerdo de derecho de autor, reproduce, por favor adjuntar el enlace de la fuente original y esta declaración. .
fuente original: https: //blog.csdn.net/bad_good_man/article/details/48787031