Avatar billede computopic Nybegynder
02. marts 2004 - 13:01 Der er 8 kommentarer og
1 løsning

Lukning af program.

Jeg skal lave en batch der lukker et given program, samt åbner det igen. Åbningen er den mindste sag, men hvordan lukker jeg et program ud fra programmets navn. For programmet får jo tildelt et nyt PID hver gang.
Avatar billede mfalck Praktikant
02. marts 2004 - 13:10 #1
en del programmer skriver deres PID i en fil (f.eks. apache, named) ellers må du lave et script som kan sakse det ud fra en ps -fax | grep <programnavn>
Avatar billede mfalck Praktikant
02. marts 2004 - 13:14 #2
noget ala følgende perl program:


$line = `ps -fax| grep named | grep -v grep`;

$pid = $line;

$pid =~ /\s*(\d+)\s.*/;
$pid = $1;
print $pid;

system ("kill $pid");
Avatar billede computopic Nybegynder
02. marts 2004 - 13:29 #3
Den skriver:
./genstart-skema
./genstart-skema: =: command not found
./genstart-skema: =: command not found
./genstart-skema: syntax error near unexpected token `/\s*(\'
./genstart-skema: ./genstart-skema: line 6: `$pid =~ /\s*(\d+)\s.*/;'
Avatar billede computopic Nybegynder
02. marts 2004 - 13:30 #4
Dette har jeg til at stå i starten af filen..
#!/bin/bash
Avatar billede mfalck Praktikant
02. marts 2004 - 13:52 #5
ah - det er fordi det er et perl-script

der skal stå :
#!<sti til perl>
Avatar billede computopic Nybegynder
02. marts 2004 - 14:26 #6
Nu er det tæt på at virker.. Dog er det et lille problem i forbindelse med at det er perl..
i samme perlfil eksevere jeg en fil. system("java skema")
Eksevere jeg perlfilen og står i samme dir fungere det fint.
Javaprogrammet lukkes ved hjælp af ovenstående script. og java programmet startes så igen. men kaldes perlscriptet andet steds fra giver det hele fejl. kan jeg i perlfilen bestemme directory?

#!/usr/bin/perl

system("cd /www/virtual/localhost/"); // Jeg har prøvet dene løsning uden held.

$line = `ps -fax| grep Kaffe | grep -v grep`;
$pid = $line;

$pid =~ /\s*(\d+)\s.*/;
$pid = $1;
#print $pid;
system ("kill $pid");
system("java skema &");
Avatar billede mfalck Praktikant
02. marts 2004 - 14:29 #7
well - for at gøre det rigtigt besværligt så ved jeg at man kan lave et shell-script uden om ala:

#!/bin/bash

cd /www/virtual/localhost/
./genstart-skema
Avatar billede mfalck Praktikant
02. marts 2004 - 14:32 #8
det er lidt bøvlet at lave den wrapper .. men som jeg skrev så virker det.
Avatar billede computopic Nybegynder
02. marts 2004 - 15:19 #9
ok, takker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester