Con prctl a un hilo llamado

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:

#include<stdio.h>
#include<pthread.h>
#include<sys/prctl.h>

void* tmain(void*arg)
{
       char name[32];
       prctl(PR_SET_NAME,(unsigned long)"xx");
       prctl(PR_GET_NAME,(unsigned long)name);
       printf("%s/n", name);
       while(1)
                sleep(1);
}

int main(void)
{
        pthread_t tid;
        pthread_create(&tid,NULL, tmain,NULL);
        pthread_join(tid,NULL);

        return 0;
}

 

 

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

 

Liberadas nueve artículos originales · ganado elogios 1 · vistas 6699

Supongo que te gusta

Origin blog.csdn.net/u014426028/article/details/102738783
Recomendado
Clasificación