Just nu i M3-nätverket
Jump to content

Check pid


Illion

Recommended Posts

Jag vill kolla om en process med en viss port har ett pid alltså om den körs, "./bouncer #port #action". så den kollar upp ett pid med den porten #port, och sen skall den göra en viss action #action antingen, start, stop eller restart. Men när jag kollar upp pid, om den inte finns får jag error message, jag vill typ catcha det error messaget och skriva ut någonting fint istället, hur skall jag göra?? Hjälp :D

God Jul

 

Link to comment
Share on other sites

lsof verkar ju dumt att använda eftersom det var porten som han visste och ville ha tag på pid:en.

 

testa fuser istället

 

fuser <port>/{tcp,udp}

 

t ex

 

bumby@cubbi:~$fuser 2000/tcp

2000/tcp: 3638

 

finns det någon sådan proccess (som kör tcp på port 2000) så kommer $? att vara 0, annars 1.

 

Sååå, scriptexempel:

#!/bin/sh
fuser $1/tcp
if [ $? == 0 ];then
 case "$2" in
   start  ) echo "Startar nått";;
   stop   ) echo "Stoppar nått";;
   restart) echo "Startar om nått";;
   *      ) echo "Du gör fel";;
 esac
else
 echo "Fanns ingen proccess som använde den porten..."
fi

 

God Dag

 

 

[edit]

Gah, skiten strippa mina mellanslag, ursäkta kodlayouten...

[inlägget ändrat 2003-12-28 18:31:42 av bumby]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...