The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Kan et barn proces returnerer en bestemt værdi til et moderselskab proces? Ametis1970 Højtstående Programmering 8 04-10-2008 12:22 AM
om barnet proces compbug UNIX for dummyer Spørgsmål & svar 12 03-22-2006 07:55 PM
gdb at barnet proces shriashishpatil UNIX for Advanced & Ekspertsøgning Brugere 4 12-12-2005 07:57 AM
KDM barn proces larryase UNIX for dummyer Spørgsmål & svar 6 01-24-2005 05:41 PM
Barn Process PID skannan Højtstående Programmering 2 06-10-2002 08:54 AM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 05-25-2006
MichLab MichLab is offline
Registreret Bruger
  
 

Join Date: May 2006
Stillinger: 4
Smile I ksh, hvordan er en in-line barn sub-processen får sin egen PID?

Dette er ikke det samme som et par af de andre udstationerede punkter, der omhandler sub-proces PID (at jeg så alligevel).

Hvis zot indeholder:
echo "vigtigste mypid: $ $ - lastpid: $!"
(
echo "block mypid: $ $ - lastpid: $! - PPID: $ PPID"
ps-ef> xxx
sove 5
echo "block mypid: $ $ - lastpid: $! - PPID: $ PPID"
) &
echo "vigtigste mypid: $ $ - lastpid: $! - PPID: $ PPID"
sove 6
Derefter: ksh zot (under Solaris og MKS) resulterer i:
vigtigste mypid: 7318 - lastpid:
blok mypid: 7318 - lastpid: - PPID: 607
vigtigste mypid: 7318 - lastpid: 7.320 - PPID: 607
blok mypid: 7318 - lastpid: - PPID: 607
Det overrasker mig, at i ugrenede barn proces, at $ $ stadig returnerer pid af de vigtigste proces. dvs både vise $ $ som 7.318 - Jeg ville have forventet, at barnet har $ $ er $ 7.320. (Du kan ignorere PPID - jeg søgte på beslægtede begreber.)

Hvis du gør: "grep 7.320 xxx" får du:
root 7320 7318 0 13:59:45 pts / 9 0:00 ksh zot
root 7321 7320 1 13:59:45 pts / 9 0:00 ps-ef
hvilket klart viser, at barnet proces, og hvis du var til "kill -9", at pid inden 5 sekunder løber ud, vil du ikke få den anden blok linje.

Min hensigt var for barnet proces til at optage sine egne pid i stedet for den forælder, gør det på dens vegne. Jeg er klar over, at den forælder kan bruge $! men hvorfor kan barnet ikke bruge $ $ for sin egen PID? Af den måde, hvis du udpakke den blok af kode og læg dem i en separat fil og kalder det, så du får de forventede resultater.

Tak på forhånd for enhver indsigter.
Michel
 

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 05:16 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0