Sponsored Content
Top Forums Shell Programming and Scripting Trapping SIGINT after restarting program. Post 302557751 by Azrael on Thursday 22nd of September 2011 04:20:27 AM
Old 09-22-2011
Trapping SIGINT after restarting program.

Tried to add a function to my control_c interrupt here. It works but has one little bug. If the user selects to run the function instead of exiting, the program restarts itself without forking as it should. However, after that control_c no longer works again. I wanted to allow the user to run this function at anytime by pressing a button, so just running one time won't cut it. I searched Google and the Bash man page on 'exec' but couldn't find anything on this problem. Any advice much appreciated.

Code:
control_c()
{
   echo -e "Would you like to run this function?\n"
   echo -e "Enter y or n: "
   read ans

    if [ "$ans" == "y" ]; then

               # Do function here
               sleep 2
               exec bash test.sh
               exit 0
    else
               exit 0
    fi
}

trap control_c SIGINT


Last edited by Azrael; 09-22-2011 at 10:06 AM.. Reason: Syntax error
 

10 More Discussions You Might Find Interesting

1. Programming

Cannot catch SIGINT while serial break condition occurs

I setup termios structure with IGNBRK is not set and BRKINT is set. To allow the process to receive signals I call: fcntl(fd, F_SETOWN, getpid()); I have made a signal handler to catch all signals. I can catch SIGINT when pressing ctrl+c but when I send break signal over serial then it cannot... (13 Replies)
Discussion started by: gzz
13 Replies

2. Programming

Problem with handling SIGINT

For a program I am designing, which involves handling the keyboard input Ctrl^c (SIGINT), it is taking ages for the program to actually recognise and perform the corresponding action whenever I run it and hit Ctrl^C at the CL. I have to do at least 3 Ctrl^Cs before the program will actually... (3 Replies)
Discussion started by: JamesGoh
3 Replies

3. Programming

[C] fgets problem with SIGINT singlal!!!

Hi all, I have this method to read a string from a STDIN: void readLine(char* inputBuffer){ fgets (inputBuffer, MAX_LINE, stdin); fflush(stdin); /* remove '\n' char from string */ if(strlen(inputBuffer) != 0) inputBuffer = '\0'; } All work fine but if i... (1 Reply)
Discussion started by: hurricane86
1 Replies

4. Shell Programming and Scripting

Intercepting SIGINT in a bash script

I've written a bash script which captures video with DVgrab. Because of the nature of the tapes that I am digitizing, sometimes I want to quit capturing before the time that I set for DVgrab. When this is the case I press Ctrl-c and DVgrab exits cleanly, my problem is that there is additional... (5 Replies)
Discussion started by: Starcast
5 Replies

5. Programming

why multiple SIGINT raises when i hit C-c

hi, in my application, i have set up to capture SIGINT and execute a handler.the problem is whenever i hit C-c, multiple SIGINT are sent to the application.I have blocked the SIGINT right after catching the first one but it is unsuccessful.Here is what i do : jmp_buf main_loop; int... (1 Reply)
Discussion started by: Sedighzadeh
1 Replies

6. Shell Programming and Scripting

Trapping program return code

Hello I have a program (prog) that accepts a parameter in order to execute some internal loop grabbing memory in each iteration. I'm using top to monitor the memory usage and to produce an output. Thus I need the program's pid as a parameter to top. I capture pid using myPID=$!. I'm also... (5 Replies)
Discussion started by: pavlosgr
5 Replies

7. Shell Programming and Scripting

Sh script sends SIGINT to a process

Hello, What I want to accomplish is this: I have made a very simple script that runs 2 commands, polipo proxy and tor. The script runs successfully and the output of tor is visible to the screen. I am using the trap command in order to catch the ctrl+c button combo in order to stop polipo... (5 Replies)
Discussion started by: redsolja
5 Replies

8. Programming

Restarting the program

Hi, I use gfortran to run the code. Some times I need to stop the program and restart it. On restarting I need to run the program from the beginning. Is there any script or option available to restart the program from where it stopped? This script/option will be immensely useful for... (2 Replies)
Discussion started by: rpd25
2 Replies

9. UNIX for Dummies Questions & Answers

SIGINT issue

May i know what are the possible causes for SIGINT other than ctrl-c? Thanks (17 Replies)
Discussion started by: pandeesh
17 Replies

10. Shell Programming and Scripting

Always pass SIGINT in ksh

The following command will run and wait for input from the user. /usr/sap/SAP/webdisp/wdispmon pf=/usr/sap/SAP/webdisp/profile What I would like to do is (in one command): - Add the above line to a ksh script - Receive the output - and send a SIGINT I have seen many posts on how to... (3 Replies)
Discussion started by: sapsid
3 Replies
DH_BUGFILES(1)							     Debhelper							    DH_BUGFILES(1)

NAME
dh_bugfiles - install bug reporting customization files into package build directories SYNOPSIS
dh_bugfiles [-A] [debhelperoptions] DESCRIPTION
dh_bugfiles is a debhelper program that is responsible for installing bug reporting customization files (bug scripts and/or bug control files and/or presubj files) into package build directories. FILES
debian/package.bug-script This is the script to be run by the bug reporting program for generating a bug report template. This file is installed as usr/share/bug/package in the package build directory if no other types of bug reporting customization files are going to be installed for the package in question. Otherwise, this file is installed as usr/share/bug/package/script. Finally, the installed script is given execute permissions. debian/package.bug-control It is the bug control file containing some directions for the bug reporting tool. This file is installed as usr/share/bug/package/control in the package build directory. debian/package.bug-presubj The contents of this file are displayed to the user by the bug reporting tool before allowing the user to write a bug report on the package to the Debian Bug Tracking System. This file is installed as usr/share/bug/package/presubj in the package build directory. OPTIONS
-A, --all Install debian/bug-* files to ALL packages acted on when respective debian/package.bug-* files do not exist. Normally, debian/bug-* will be installed to the first package only. SEE ALSO
/usr/share/doc/reportbug/README.developers.gz debhelper(1) This program is a part of debhelper. AUTHOR
Modestas Vainius <modestas@vainius.eu> 11.1.6ubuntu2 2018-05-10 DH_BUGFILES(1)
All times are GMT -4. The time now is 03:04 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy