Sponsored Content
Full Discussion: Bash Trap Problem?
Top Forums Shell Programming and Scripting Bash Trap Problem? Post 302258453 by jsabino on Friday 14th of November 2008 03:27:00 PM
Old 11-14-2008
Bash Trap Problem?

Hey all, I'm a fairly new shell scripter (been writing some very basic stuff for a couple of years once in a blue moon).

I have the need to start 2 or 3 processes from within a bash script when it's run then have the script kind of hang out and wait for the user to ctrl+c and when that happens the 2 or 3 running processes should be terminated and the script should continue.

I have a lot of the script written but am stuck at this point. I think I need to grab the PID #'s of the running processes using $$ or something then when CTRL-C is hit, send them a kill type signal but I've read a lot and message around with the trap command and can't seem to get it working right. Basically it would like like this.

./run_script.sh

Process 1 starts
Process 2 starts
Process 3 starts

Wait for user to hit [CTRL+C]...

[ctrl+c] is pressed

Process 1 ends
Process 2 ends
Process 3 ends

Script continues..

Any help you can give would be appreciated.
Thanks!
JS
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Trap command problem

I am having a unix script which in turns calls another unix script. Both are creating some temp files in /tmp which are supposed to be deleted after the end of each run In the child script if I have statement like trap "rm -f $messagefile" EXIT A similar statement is there in parent... (3 Replies)
Discussion started by: superprogrammer
3 Replies

2. Shell Programming and Scripting

how to trap unix signal if the process killed/interupt occured in bash...

hey champs, I have a process running.......i have to catch/trap the signal when the process is being interupted/killed (kill -9 pid) option...... how can i achieve the same thru my process........ let my process is a.sh and it supposed to take 13 mins to complete, but due to some problem ,... (15 Replies)
Discussion started by: manas_ranjan
15 Replies

3. Shell Programming and Scripting

Cntl+z Trap is not detecting ??? Help required to add a trap detection ???

Hi folks, I have tried to add some trap detection in the below script....this script is used to monitor database activities...in a rather awkward way :rolleyes:.... The idea behind adding trap is that....this script creates lots of temporary files in the running folder to store the count... (1 Reply)
Discussion started by: frozensmilz
1 Replies

4. Shell Programming and Scripting

Record the Signal Type or Number in Bash Trap function

In my Bash script I have an exit/cleanup function in a trap statement like: trap exitCleanup 1 2 3 6 15 25 Is there anyway to capture which signal # has occurred to record in a log file. Please note I am trying to avoid something like: trap 'mySignal=1; exitCleanup' 1 trap... (1 Reply)
Discussion started by: ckmehta
1 Replies

5. Shell Programming and Scripting

Trap Command Problem

Hi All , Could you please help me in resolving the below problem. I have 2 Script file say Scrip1.sh Script2.sh. Initially Script1.sh is started executed and inside the script1 , SIGINT is trapped to a separate cleanup process and exit. While Script1.sh is started executing ,... (1 Reply)
Discussion started by: sundar_ranga
1 Replies

6. Shell Programming and Scripting

trap CTRL-C problem

I am trying to trap CTRL-C, now the program I call has it's own exit message, I think this is the problem .. This is what I have now : function dothis { echo 'you hit control-c' exit } function settrap { trap dothis SIGINT } settrap until false; do ./ITGRecv.exe doneDoing this I... (2 Replies)
Discussion started by: Pmarcoen
2 Replies

7. Shell Programming and Scripting

How to trap set -o nounset in bash

I have a bash script using "set -o nounset" to prevent unset variables. However I have created a trap to run some cleanup options upon exit of the script which works fine for CTRL-C, etc. but if it hits and unset variable the trap does not run and the script bails out without having tidied up... (3 Replies)
Discussion started by: jelloir
3 Replies

8. Homework & Coursework Questions

VM trap may work differently than a pure install trap.

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: That is the last reply I received from my instructor, and I'm looking for some alternatives. When using... (2 Replies)
Discussion started by: newuser45
2 Replies

9. Shell Programming and Scripting

Bash - trap error file not found

Hello. In bash, is there a way to trap error "file not found" when a script call another script which is not found; then abort. Example ( part of script running with -x option set) : + return 0 + RETURN_CODE=0 + ] + /root/bin/200_yast_install/00_reset_yast_install bash:... (5 Replies)
Discussion started by: jcdole
5 Replies

10. Solaris

Solaris 10 boot problem - ERROR: Last Trap: Fast Data Access MMU Miss

Hello, We have a T5140 server with Solaris 10 and its suddenly throwing "segmentation core" when I login into the server and not showing any output for commands like df, mount etc. so I had to reboot the server to fix this issue. Please note that there's no boot disk mirroring. But... (2 Replies)
Discussion started by: prvnrk
2 Replies
TAP::Parser::Iterator::Process(3pm)			 Perl Programmers Reference Guide		       TAP::Parser::Iterator::Process(3pm)

NAME
TAP::Parser::Iterator::Process - Iterator for process-based TAP sources VERSION
Version 3.26 SYNOPSIS
use TAP::Parser::Iterator::Process; my %args = ( command => ['python', 'setup.py', 'test'], merge => 1, setup => sub { ... }, teardown => sub { ... }, ); my $it = TAP::Parser::Iterator::Process->new(\%args); my $line = $it->next; DESCRIPTION
This is a simple iterator wrapper for executing external processes, used by TAP::Parser. Unless you're writing a plugin or subclassing, you probably won't need to use this module directly. METHODS
Class Methods "new" Create an iterator. Expects one argument containing a hashref of the form: command => @command_to_execute merge => $attempt_merge_stderr_and_stdout? setup => $callback_to_setup_command teardown => $callback_to_teardown_command Tries to uses IPC::Open3 & IO::Select to communicate with the spawned process if they are available. Falls back onto "open()". Instance Methods "next" Iterate through the process output, of course. "next_raw" Iterate raw input without applying any fixes for quirky input syntax. "wait" Get the wait status for this iterator's process. "exit" Get the exit status for this iterator's process. "handle_unicode" Upgrade the input stream to handle UTF8. "get_select_handles" Return a list of filehandles that may be used upstream in a select() call to signal that this Iterator is ready. Iterators that are not handle based should return an empty list. ATTRIBUTION
Originally ripped off from Test::Harness. SEE ALSO
TAP::Object, TAP::Parser, TAP::Parser::Iterator, perl v5.18.2 2014-01-06 TAP::Parser::Iterator::Process(3pm)
All times are GMT -4. The time now is 01:55 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy