The UNIX and Linux Forums  

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
¿Puede un menor proceso de retorno un valor específico a un proceso padre? Ametis1970 Programación de Alto Nivel 8 04-10-2008 12:22 AM
sobre proceso hijo compbug UNIX for Dummies Preguntas y Respuestas 12 03-22-2006 07:55 PM
gdb para proceso hijo shriashishpatil UNIX para usuarios avanzados y expertos 4 12-12-2005 07:57 AM
KDM proceso hijo larryase UNIX for Dummies Preguntas y Respuestas 6 01-24-2005 05:41 PM
PID del proceso hijo skannan Programación de Alto Nivel 2 06-10-2002 08:54 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 05-25-2006
MichLab MichLab is offline
Usuario Registrado
  
 

Fecha: mayo de 2006
Publicaciones: 4
Smile En ksh, ¿cómo puede un niño en línea sub-proceso de obtener su propio PID?

Esto no es lo mismo que algunos de los artículos enviados por otros se ocupan de pids sub-proceso (que he visto de todos modos).

Si Zot contiene:
echo "mypid principales: $ $ - lastpid: $!"
(
echo "bloque mypid: $ $ - lastpid: $ - PPID: $ PPID"
ps-ef> xxx
dormir 5
echo "bloque mypid: $ $ - lastpid: $ - PPID: $ PPID"
) &
echo "mypid principales: $ $ - lastpid: $ - PPID: $ PPID"
dormir 6
A continuación: ksh Zot (bajo Solaris y MKS) se traduce en:
principales mypid: 7318 - lastpid:
bloque mypid: 7318 - lastpid: - PPID: 607
principales mypid: 7318 - lastpid: 7320 - PPID: 607
bloque mypid: 7318 - lastpid: - PPID: 607
Me sorprende que en el proceso de ahorquillado niño, que todavía $ $ devuelve el PID del proceso principal. es decir, que ambos tienen como 7318 $ $ - Yo habría esperado que el niño tenga $ $ 7.320 dólares. (Puede ignorar la PPID - Estaba mirando conceptos relacionados.)

Si lo hace: "grep 7320 xxx" usted obtiene:
raíz de 7320 7318 0 13:59:45 pts / 9 0:00 ksh Zot
raíz de 7321 7320 1 13:59:45 pts / 9 0:00 ps-ef
muestra claramente que el proceso hijo y si se "kill -9" pid antes de que transcurran los 5 segundos se acabe, que no alcanzaría el segundo bloque línea.

Mi intención era que el proceso hijo para grabar su propio pid en lugar de los padres es lo que en su nombre. Me doy cuenta de que los padres pueden usar $! pero ¿por qué el niño no puede usar $ $ de su propio PID? Por cierto, si se extrae el bloque de código y ponerlo en un archivo aparte y lo llaman, se obtiene los resultados esperados.

Gracias de antemano por cualquier vista.
Michel
  #2 (Enlace permanente)  
Old 05-25-2006
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix demonio
  
 

Fecha: agosto 2001
Ubicación: Ashburn, Virginia,
Mensajes: 9.131
ksh compila el código y, a continuación, ejecuta la misma. La $ $ se ha ido mucho antes de que el tenedor se produce. Por lo tanto, sustituir la (cosas) con la notación
ksh-c "cosas"

No es una gran solución, pero funciona.
  #3 (Enlace permanente)  
Old 05-25-2006
MichLab MichLab is offline
Usuario Registrado
  
 

Fecha: mayo de 2006
Publicaciones: 4
Entonces, ¿cómo podría funcionar el siguiente:
xxx \u003d $ (date)
(Dormir 5
xxx \u003d $ (date)
echo $ xxx
) &
echo $ xxx
$ xxx si se coaccionado cuando el (...)& de imagen y, a continuación, los dos estados eco siempre muestran la misma hora, pero no (puede probarlo). ¿Estás sugiriendo que $ $ es forzado por las diferentes normas de $ xxx?
  #4 (Enlace permanente)  
Old 05-25-2006
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix demonio
  
 

Fecha: agosto 2001
Ubicación: Ashburn, Virginia,
Mensajes: 9.131
Sí. Parámetros especiales y los parámetros de llamada son diferentes. Me gustaría publicar algunos ejemplos de código para probar esto, pero usted me pegaba a él.
  #5 (Enlace permanente)  
Old 05-26-2006
MichLab MichLab is offline
Usuario Registrado
  
 

Fecha: mayo de 2006
Publicaciones: 4
Thumbs up

Gracias por las ideas.

Yo encontrar el comportamiento límite nueces presumir normas diferentes para coaccionar a las variables.

Una definición válida posiblemente se me ocurre como una alternativa es que "$ $" es, por definición, el depósito inicial del PID en contraposición con el PID del proceso actual, independientemente de los depósitos sub-como PPID es el padre del depósito inicial, independientemente de ser en una sub-shell o no. Esto es coherente con algunas páginas man I ksh desenterrado aunque no evidente.

También parece ser coherente con unos pocos experimentos he intentado con "eval", con un compuesto de cadena que se traduce en "$ $" que se oponen a la inicial análisis de la (....)& de coaccionar a un manifiesto de $ $ y que también el mismo resultado.

Ksh que trata de una forma diferente subshell ahorquillado un ejemplo de ksh es coherente con otros aspectos de comportamiento (por ejemplo, las variables no tienen por qué ser exportados a ser visto por un sub-shell), pero seguro de comedores hasta la noción de utilizar el código en línea frente a secuencias de comandos en el exterior todo coherente.

Voy a obtener una estrategia alternativa (de jugar con ps-ef no es una opción porque mis necesidades para ejecutar código bajo Solaris y Windows / ps MKS que difiere debido a la información sobre los parámetros del proceso mantenida por Windows).

Gracias de nuevo.
Michel
  #6 (Enlace permanente)  
Old 05-26-2006
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix demonio
  
 

Fecha: agosto 2001
Ubicación: Ashburn, Virginia,
Mensajes: 9.131
Una mejor manera de pensar acerca de ello es que "subshell" no está garantizado a ser un nuevo proceso. Atención a la definición de () y se encuentra "medio independiente" en lugar de "nuevo proceso". Mientras no se propagan los efectos secundarios en el entorno de los padres, esto puede hacerse sin un tenedor y bifurcación es caro. Por lo tanto, esto deja abierta la puerta para implementaciones más rápidas. También Dave Korn ksh quería ser universal y otros sistemas operativos no permiten tenedor (). (Es posible que tengan un desove () que es como un tenedor () / exec () combinado o algo así.)

De todos modos, he pensado de una manera de hacerlo ... creo. Antecedentes de la subshell. Tienen los padres obtener $! y enviarlo a la subshell a través de una tubería con nombre. Entonces el padre espera el subshell para salir.
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 08:38 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0