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:
The programs started up nicely. Then, to kill them, I typed:
And then pressed Ctrl+C. This is what I saw:
I was happy but that was short-lived; after a few seconds, the programs started back up. What gives? 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:
[2] The run-all-agents script has:
[3] The kill-all-agents has:
Thanks,
DTW
---------- Post updated at 10:53 AM ---------- Previous update was at 10:41 AM ----------
I also tried all of the commands:
[1]
[2]
[3]
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:
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]
[2]
[3]
I realized that killing these processes "manually" using the "kill -9" command doesn't seem to do anything. For example I did:
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.
If you are using script mentioned above & running all the programs in backgorund using & operator, you can use below command :
jobs -l
This will show all background process.
Cool. Thank you very much.
Quote:
kill -9 <process_id>
to kill as usual.
Thank you again.
---------- Post updated at 02:14 PM ---------- Previous update was at 02:11 PM ----------
So, I was looking at the kill-all-agents script here:
I was wondering - do these lines really need to be there?
Aren't they starting the agents back up? I'm confused.
You should not use kill -9 (only as a very last resort). It causes zombie processes.
Perhaps the problem lies with the fact that the java process is a subprocess yet again.
What happens if you combine the two scripts into one and you use something like this:
You should not use kill -9 (only as a very last resort). It causes zombie processes.
Perhaps the problem lies with the fact that the java process is a subprocess yet again.
OK. Thank you for your thoughts.
Before I try your experiment, I commented out the following lines from your script:
I guess it didn't do anything...
Next, I restarted my machine and ran the "run-all-agents" script like this:
Then, I went through all the processes using the following command:
And killed the three processes, I'd spawned using the "kill -9" command. They died. However, this process doesn't seem to die (despite repeated attempts to kill it):
Now, I'll try restarting the machine and then try your experiment and report back.
Thanks,
DTW
---------- Post updated at 03:07 PM ---------- Previous update was at 02:56 PM ----------
Quote:
What happens if you combine the two scripts into one and you use something like this:
So, I did what you suggested and called the above script, "test-script1". I ran it like this:
It started up. Then, when I hit "Ctrl+C" it stopped. Everything stopped nicely. I even did a "ps aux | more" command and looked at the running processes carefully but there was no sign of either of the three programs running. Also, there was no sign of the "java server" running - for the first time. :-) I can test this out and see if the programs are actually functional and report back. Does that sound fair?
DTW
---------- Post updated at 03:30 PM ---------- Previous update was at 03:07 PM ----------
Quote:
I can test this out and see if the programs are actually functional and report back. Does that sound fair?
Hi!
I'm back. I did try to run the programs too and they ran just fine. I tried stopping/starting the programs and they did so every single time. I'm so happy that this is finally working! Thank you very much for all your help, Scrutinizer.
I do have one more question, though. Before I start the programs, I fire up a server using the following script:
So far, I've been able to "kill" the server by just hitting Ctrl+C. However, this doesn't always work. Is there a way to nicely kill this process too? That way, we'd have a script to nicely start/stop the server and then another one to nicely start/stop the programs.
My next goal (after the server start/stop script is implemented and tested) is to truly understand what we did so that I actually learn some scripting too. :-)
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)
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)
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)
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)
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)
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)
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)
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)
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)