|
| "Luring" af PID? Fra : Steen Suder, privat |
Dato : 15-10-04 08:39 |
|
[Linux]
Jeg søger et program der kan fortælle mig PIDet af det første program i
den efterfølgende kommandolinie.
F.eks. noget i denne retning:
# pidfinder -f minpidfil kommando | kommando2 | kommando3 osv.
Debian har f.eks. start-stop-daemon, men jeg vil gerne finde et
alternativ, da den ikke er helt pålidelig.
pidof dur heller ikke, da den køres "bagefter" og heller ikke er helt
brugbar.
Hvad findes der?
--
Steen Suder
Prøv at forestille dig, at du er en anden, og læs så din artikel igennem
inden du sender den. Alle har interesse i, at du staver og formulerer
dig, så godt du kan. På den måde forstås det lettere, hvad du skriver.
| |
Peter Makholm (15-10-2004)
| Kommentar Fra : Peter Makholm |
Dato : 15-10-04 08:52 |
|
"Steen Suder, privat" <sfs_news_spam@suder.dk> writes:
> [Linux]
>
> Jeg søger et program der kan fortælle mig PIDet af det første program
> i den efterfølgende kommandolinie.
I en shell kan du du bruge $!:
[man bash]
Special Parameters
The shell treats several parameters specially. These
parameters may only be referenced; assignment to them is
not allowed.
[...]
! Expands to the process ID of the most recently
executed background (asynchronous) command.
--
Peter Makholm | One thing you do is prevent good software from
peter@makholm.net | being written. Who can afford to do professional
http://hacking.dk | work for nothing?
| -- Bill Gates
| |
Steen Suder, privat (15-10-2004)
| Kommentar Fra : Steen Suder, privat |
Dato : 15-10-04 09:10 |
|
Peter Makholm wrote:
> "Steen Suder, privat" <sfs_news_spam@suder.dk> writes:
>
>
>>[Linux]
>>
>>Jeg søger et program der kan fortælle mig PIDet af det første program
>>i den efterfølgende kommandolinie.
>
>
> I en shell kan du du bruge $!:
>
> [man bash]
<KLIP>
> [...]
>
> ! Expands to the process ID of the most recently
> executed background (asynchronous) command.
Mit eksempel igen:
# pidfinder -f minpidfil kommando | kommando2 | kommando3 osv.
V. 2:
# kommando1 | kommando2 | kommando3 osv.
Som jeg læser dit citat, vil jeg få PID af kommando3, men jeg vil ha'
kommando1s PID - og jeg vil have det med sikkerhed, hvorfor pidof ikke
er god.
--
Steen Suder
Prøv at forestille dig, at du er en anden, og læs så din artikel igennem
inden du sender den. Alle har interesse i, at du staver og formulerer
dig, så godt du kan. På den måde forstås det lettere, hvad du skriver.
| |
Thorbjoern Ravn Ande~ (15-10-2004)
| Kommentar Fra : Thorbjoern Ravn Ande~ |
Dato : 15-10-04 08:53 |
|
"Steen Suder, privat" <sfs_news_spam@suder.dk> writes:
> # pidfinder -f minpidfil kommando | kommando2 | kommando3 osv.
Hvad er scenariet? kommando kører meget længe?
Der findes nogen konstruktioner i sh som kan fortælle dig diverse
pid'er.
(ls && echo $$)-lignende.
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus
| |
Steen Suder, privat (15-10-2004)
| Kommentar Fra : Steen Suder, privat |
Dato : 15-10-04 09:21 |
|
Thorbjoern Ravn Andersen wrote:
> "Steen Suder, privat" <sfs_news_spam@suder.dk> writes:
>
>
>># pidfinder -f minpidfil kommando | kommando2 | kommando3 osv.
>
>
> Hvad er scenariet? kommando kører meget længe?
Typisk fem sekunder - hvis den holder sig til de afstukne rammer.
> Der findes nogen konstruktioner i sh som kan fortælle dig diverse
> pid'er.
>
> (ls && echo $$)-lignende.
I mit eksempel er "kommando" problemet - den kan finde på at "hænge".
Dens output skal umiddelbart bruges i kommando2 osv.
Jeg antager at det er de samme konstruktioner, som Peter Makholm
refererer til tidligere i tråden, du henviser til.
Jeg overvejede at pakke det ind i Perl, for at opnå hvad jeg vil, men
jeg har ikke fundet en brugbar løsning.
--
Steen Suder
Prøv at forestille dig, at du er en anden, og læs så din artikel igennem
inden du sender den. Alle har interesse i, at du staver og formulerer
dig, så godt du kan. På den måde forstås det lettere, hvad du skriver.
| |
Thorbjoern Ravn Ande~ (15-10-2004)
| Kommentar Fra : Thorbjoern Ravn Ande~ |
Dato : 15-10-04 09:33 |
|
"Steen Suder, privat" <sfs_news_spam@suder.dk> writes:
> Thorbjoern Ravn Andersen wrote:
> > "Steen Suder, privat" <sfs_news_spam@suder.dk> writes:
> >
> >># pidfinder -f minpidfil kommando | kommando2 | kommando3 osv.
> > Hvad er scenariet? kommando kører meget længe?
>
> Typisk fem sekunder - hvis den holder sig til de afstukne rammer.
Det vil sige at det du har brug for, er en wrapper som slår dit
program ned, hvis det har kørt for længe.
Jeg fandt følgende på google
http://www.sunmanagers.org/archives/1995/1330.html
http://www.innodb.com/innobackup.txt
Alternativt kan
(ulimit -t 5 && kommando)
måske gøre det?
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus
| |
Kim Hansen (15-10-2004)
| Kommentar Fra : Kim Hansen |
Dato : 15-10-04 09:37 |
|
"Steen Suder, privat" <sfs_news_spam@suder.dk> writes:
> [Linux]
>
> Jeg søger et program der kan fortælle mig PIDet af det første program
> i den efterfølgende kommandolinie.
>
>
> F.eks. noget i denne retning:
> # pidfinder -f minpidfil kommando | kommando2 | kommando3 osv.
Noget i stil med:
-------------
#!/bin/bash
# Brug: pidfinder pidfil program
echo $$ > $1
exec $2
-------------
Det kan helt sikkert gøres bedre mht brug af parametre med mellemrum
og argumenter til program.
--
Kim Hansen | |\ _,,,---,,_ | Det er ikke
Vadgårdsvej 3, 2.tv. | /,`.-´` -. ;:-. | Jeopardy.
2860 Søborg | |,4- ) )-,_. ,\ ( `'-' | Svar _efter_
Tlf: 39 56 24 37 | '---''(_/--' `-'\_) | spørgsmålet.
| |
Kasper Dupont (15-10-2004)
| Kommentar Fra : Kasper Dupont |
Dato : 15-10-04 12:00 |
|
Kim Hansen wrote:
>
> Noget i stil med:
> -------------
> #!/bin/bash
> # Brug: pidfinder pidfil program
> echo $$ > $1
> exec $2
> -------------
>
> Det kan helt sikkert gøres bedre mht brug af parametre med mellemrum
> og argumenter til program.
Mit første forslag til en forbedring ville være
noget i retning af:
#!/bin/bash
# Brug: pidfinder pidfil program
echo $$ > "$1"
shift
exec "$@"
--
Kasper Dupont
| |
Steen Suder, privat (15-10-2004)
| Kommentar Fra : Steen Suder, privat |
Dato : 15-10-04 12:14 |
|
Kasper Dupont wrote:
> Kim Hansen wrote:
>
>>Noget i stil med:
>>-------------
>>#!/bin/bash
>># Brug: pidfinder pidfil program
>>echo $$ > $1
>>exec $2
>>-------------
>>
>>Det kan helt sikkert gøres bedre mht brug af parametre med mellemrum
>>og argumenter til program.
>
>
> Mit første forslag til en forbedring ville være
> noget i retning af:
>
> #!/bin/bash
> # Brug: pidfinder pidfil program
> echo $$ > "$1"
> shift
> exec "$@"
Til Kim og Kasper: det ser jo fint ud. Jeg vil rode lidt videre med det.
Dog synes jeg at det er lidt ligesom at snyde - som når min kone trykker
pause i Tetris, for at bestemme sig for hvor brikken skal placeres
Men så lang tid, det virker...
--
Steen Suder
Prøv at forestille dig, at du er en anden, og læs så din artikel igennem
inden du sender den. Alle har interesse i, at du staver og formulerer
dig, så godt du kan. På den måde forstås det lettere, hvad du skriver.
| |
Kasper Dupont (15-10-2004)
| Kommentar Fra : Kasper Dupont |
Dato : 15-10-04 16:00 |
|
"Steen Suder, privat" wrote:
>
> Dog synes jeg at det er lidt ligesom at snyde
Hvad mener du? Jeg kan ikke få øje på noget snyd.
--
Kasper Dupont
| |
Jacob Bunk Nielsen (15-10-2004)
| Kommentar Fra : Jacob Bunk Nielsen |
Dato : 15-10-04 15:03 |
|
"Steen Suder, privat" <sfs_news_spam@suder.dk> writes:
> I mit eksempel er "kommando" problemet - den kan finde på at "hænge".
> Dens output skal umiddelbart bruges i kommando2 osv.
Har du prøvet at kigge på timeout?
< http://packages.debian.org/stable/admin/timeout>
--
Jacob - www.bunk.cc
The world is coming to an end. Please log off.
| |
|
|