Sponsored Content
Top Forums Shell Programming and Scripting Help with Running More than One Program Post 302388535 by DTriniWay on Thursday 21st of January 2010 12:06:31 PM
Old 01-21-2010
Quote:
Did you run is with parameters?
Did you press Ctrl-C afterwards?
No and no. Sorry! :-) Anyway, I redid the test and I got something like this:
Quote:
./kill-all-agents: line 4: 11146 Terminated ./run-any-agent $agent
./kill-all-agents: line 4: 11147 Terminated ./run-any-agent $agent
./kill-all-agents: line 4: 11148 Terminated ./run-any-agent $agent
Jobs were killed
Then I hit Ctrl+C. However, after a few seconds, the programs started back up. That was annoying! I'll look at your other suggestions and report back. (Though it probably won't be today since I need to be heading out; I'll get back tomorrow for sure.)

Thanks much,

DTW

---------- Post updated 01-21-10 at 10:32 AM ---------- Previous update was 01-20-10 at 06:07 PM ----------

Quote:
Then I hit Ctrl+C. However, after a few seconds, the programs started back up. That was annoying! I'll look at your other suggestions and report back. (Though it probably won't be today since I need to be heading out; I'll get back tomorrow for sure.)
I tried it again this morning. I typed:
Code:
 sh ./run-all-agents MyProgram1 MyProgram2

The programs started up nicely. Then, to kill them, I typed:
Code:
sh ./kill-all-agents MyProgram1 MyProgram2

And then pressed Ctrl+C. This is what I saw:
Code:
./kill-all-agents: line 4: 13954 Terminated              ./run-any-agent $agent
./kill-all-agents: line 4: 13955 Terminated              ./run-any-agent $agent

I was happy but that was short-lived; after a few seconds, the programs started back up. What gives?Smilie I tried typing the same thing a few times, but it did the same thing. The programs continue to run. What else can I try?

Thanks,

DTW

---------- Post updated at 10:41 AM ---------- Previous update was at 10:32 AM ----------

Just to be perfectly clear:

[1] The run-any-agent script has:
Code:
#!/bin/bash
#
# Usage
# From the agent directory:
#   sh ./run-agent
#

TAC_AGENT_HOME=`pwd`
LIB=${TAC_AGENT_HOME}/lib
CLASSPATH=.
CLASSPATH=${CLASSPATH}:${TAC_AGENT_HOME}/bin
for i in $( ls ${LIB}/*.jar ); do
  CLASSPATH=${CLASSPATH}:$i
done

java -server -Xmx1024M -Xms512M -cp $CLASSPATH edu.umich.eecs.tac.aa.agentware.Main -config config/$1.conf

[2] The run-all-agents script has:
Code:
#!/bin/bash

for agent in $*
do
    ./run-any-agent $agent &   # run in background
done

[3] The kill-all-agents has:
Code:
#!/bin/bash
trap killsubs INT
killsubs()
{
  echo "CTRL-C was pressed"
  jobs -p|xargs kill
  echo "Jobs were killed"
  exit
}
for agent in "$@"
do
  ./run-any-agent $agent &   # run in background
done
wait

Thanks,

DTW

---------- Post updated at 10:53 AM ---------- Previous update was at 10:41 AM ----------

I also tried all of the commands:
[1]
Code:
kill $( ps aux|awk '/[r]un-any-agent/{print $2}' )

[2]
Code:
kill $(pgrep run-any-agent)

[3]
Code:
pkill run-any-agent

But nothing seems to work. The programs keep going.

Thanks,

DTW

---------- Post updated at 11:34 AM ---------- Previous update was at 10:53 AM ----------

So, I eventually ended up restarting my machine...It looked like there were too many zombie processes for me to get rid of. I tried running the "run-all-agents" script again followed by the "kill-all-agents" but it seems impossible to stop the programs once they kick off.

DTW

---------- Post updated at 12:06 PM ---------- Previous update was at 11:34 AM ----------

I'm running out of ideas...I executed the following command:
Code:
ps aux | more

And then scanned my screen for any processes that I may have spawned using "run-any-agent". What I found surprising was that there were several instances of "run-any-agent" - each with different PIDs. Check these out:
[1]
Code:
DTW     5740  0.0  0.0   2988  1368 pts/0    S    11:30   0:00 /bin/bash ./run-any-agent MyProgram1
DTW     5741  0.0  0.0   2988  1372 pts/0    S    11:30   0:00 /bin/bash ./run-any-agent MyProgram2
DTW     5746  0.1  1.2 1197324 24304 pts/0   Sl   11:30   0:02 java -server -Xmx1024M -Xms512M -cp ...[There's a lot of more after this]

[2]
Code:
DTW     6264  0.0  0.0   2988  1364 pts/0    S    11:34   0:00 /bin/bash ./run-any-agent MyProgram1
DTW     6265  0.0  0.0   2988  1364 pts/0    S    11:34   0:00 /bin/bash ./run-any-agent MyProgram2
DTW     6270  0.1  1.1 1197184 23812 pts/0   Sl   11:34   0:02 java -server -Xmx1024M -Xms512M -cp...[There's a lot of more after this]

[3]
Code:
DTW     6317  0.0  0.0   2988  1372 pts/0    S    11:34   0:00 /bin/bash ./run-any-agent MyProgram1
DTW     6318  0.0  0.0   2988  1372 pts/0    S    11:34   0:00 /bin/bash ./run-any-agent MyProgram2
DTW     6323  0.1  1.1 1196944 23408 pts/0   Sl   11:34   0:02 java -server -Xmx1024M -Xms512M -cp...[There's a lot of more after this]

I realized that killing these processes "manually" using the "kill -9" command doesn't seem to do anything. For example I did:
Code:
kill -9 6323

But I'm not sure anything happened. What should I do? Why are these processes being spawned so many times? I'm not sure what's going on here.Smilie

Thanks,

DTW
 

10 More Discussions You Might Find Interesting

1. Programming

Running a compiled Program

Just getting into the Unix command line programming and am unable to run any program I write. I am using a Makefile and the source is compiling but when I enter the name of the output file I get back: bash: lab01exe.out: command not found I'm sure I am just dooing something simple... (2 Replies)
Discussion started by: Krebsbac
2 Replies

2. Shell Programming and Scripting

Running a program automatically

How can I make a program run automatically at a certain time of day? My problem is I need to make a small backup program that will back up a few files every day? (3 Replies)
Discussion started by: jvadn0
3 Replies

3. Programming

running a c/c++ program in unix

This is not a question, but rather a simple how-to for programmers who are new to the UNIX environment. I too,am new to UNIX. First I developed a few programs on my box and perfected them until they were satisfactory for execution. Problem was however, that once i compiled and all that,... (2 Replies)
Discussion started by: kray
2 Replies

4. UNIX for Dummies Questions & Answers

Running a program

Hi.Iam new to Linux.i got linux 7.0 pro and dont know how to run programs. I want a perl interputer and i know i installed one but how do i run it ??? Also how do i run a C or C++ editor ?and how do i run cron ? (3 Replies)
Discussion started by: perleo
3 Replies

5. UNIX for Dummies Questions & Answers

Running a program on boot!

Hi there! I tried to search for something like this here but couldn't find anything. I need to run a specific program when linux starts up. I need to run it after the rp-pppoe has started because this prog needs internet connection. I start the program by entering ./dynix start (its in my home... (4 Replies)
Discussion started by: D-Lexy
4 Replies

6. Programming

running a program for a specified time

how can i run a program for a specified time? i need to print a current time during program execution. (3 Replies)
Discussion started by: prosputko
3 Replies

7. Programming

running a parallel program

hi , i need to run a parallel program . for example; program1 { array=" the second program should called here : program 2" the execution should continue } the 2nd program should recieve an array of information as argument and it should... (4 Replies)
Discussion started by: bankpro
4 Replies

8. UNIX for Dummies Questions & Answers

Running a program (Dynflow)

Lets get some stuff out of the way before the question. I am currently running FreeBSD 7.0 on a VirtualBox virtual machine. I do not know much about Unix or FreeBSD, though I do run linux at home. My boss gave me some files that he says are a unix version of the program Dynflow. The Programs... (0 Replies)
Discussion started by: poet_will
0 Replies

9. Shell Programming and Scripting

Running a program using csh

I have a program which I can run on the command line like below and works fine /nethome/chrisd/HSeis/TommyCD/TommyCD-1101/bin/raytrac vmod=npt10-z30.vmod srfile=jcdint.sc rcfile=jcdint.rc phases="SP FS" level=twop format="X T" dtau=0.1 mdacc=0.5 mindist=0.1 maxitertp=25 ray=npt10-z30.ry... (0 Replies)
Discussion started by: kristinu
0 Replies

10. Shell Programming and Scripting

Running C program in UNIX

I want to run a C program from my BASH script. Here's some very basic simplified code of my bash script: #!/bin/bash echo "Run C program" ./main.c echo "Ran C program" Here's my main.c: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv) { ... (3 Replies)
Discussion started by: millsy5
3 Replies
All times are GMT -4. The time now is 07:55 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy