03-03-2011
Yes the quit was a typo it should probably be something like exit 2, still it's good to know that your trap code is not executing. The exit is nice as it allows anything that calls this script to know if an interupt was trapped or not.
Things to note is that polipo is a background daemon (I assumed this because it's being started by an rc.d script). tor on the otherhand is running in the foreground control dosn't return to your script until tor exits (as you said usually as a result of the users typing ctrl-c).
So you can see that traping interupts after tor exists is closing the barn door after the horse has bolted.
I moved the trap to before tor starts and also added a clean shutdown after tor, this is for instances where tor exist with a ctrl-c interupt (e.g. tor fails to start due to error, crashes, or some user input causes tor to exit without the need for ctrl-c).
10 More Discussions You Might Find Interesting
1. Programming
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
2. Shell Programming and Scripting
I have a PHP Script that works perfectly on a server that uses Sendmail. However I tried to port it to a new server that has the Postfix to Sendmail compatibility interface, and it doesn't work properly.
The php.ini file has the path for sendmail on both servers set to: /usr/sbin/sendmail -t... (0 Replies)
Discussion started by: boopfm523
0 Replies
3. Shell Programming and Scripting
hi all
Anybody have an idea to write the script to get the file size and sends an email when file size increse more than 10mb. thanks (10 Replies)
Discussion started by: s_linux
10 Replies
4. Shell Programming and Scripting
Hi
Im very new at working with unix and this problem I simply can not understand. I know there are a lot of threads about problems with shell scripts behaving differently when run from a terminal and from a cronjob. I have tried everything(almost) but I still havent cracked this problem.
Im... (15 Replies)
Discussion started by: Nightowl
15 Replies
5. Shell Programming and Scripting
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
6. UNIX for Dummies Questions & Answers
Hi,
I have a BASH shell script that batch processes data. I often start this script before I leave to go home for the day, and leave it processing over night. It has come to my attention that it would be very useful for me to add the capability of making the script notify me about certain things... (2 Replies)
Discussion started by: msb65
2 Replies
7. Shell Programming and Scripting
Hello All,
I need a script which alerts me when a files arrive in a directory. I don't need every file. but i need some specific pattern file. And i need to get automatic email gettin as an alert
For Example:
/a/b/c/ : directory
format of file should take regualr expression or manually... (2 Replies)
Discussion started by: krux_rap
2 Replies
8. Shell Programming and Scripting
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... (1 Reply)
Discussion started by: Azrael
1 Replies
9. UNIX for Dummies Questions & Answers
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
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
runit(8) System Manager's Manual runit(8)
NAME
runit - a UNIX process no 1
SYNOPSIS
runit
DESCRIPTION
runit must be run as Unix process no 1. It performs the system's booting, running, and shutdown in three stages:
STAGE 1
runit runs /etc/runit/1 and waits for it to terminate. The system's one time tasks are done here. /etc/runit/1 has full control of
/dev/console to be able to start an emergency shell if the one time initialization tasks fail. If /etc/runit/1 crashes, or exits 100, runit
will skip stage 2 and enter stage 3.
STAGE 2
runit runs /etc/runit/2, which should not return until system shutdown; if it crashes, or exits 111, it will be restarted. Normally
/etc/runit/2 starts runsvdir(8). runit is able to handle the ctrl-alt-del keyboard request in stage 2, see below.
STAGE 3
If runit is told to shutdown the system, or stage 2 returns, it terminates stage 2 if it is running, and runs /etc/runit/3. The systems
tasks to shutdown and possibly halt or reboot the system are done here. If stage 3 returns, runit checks if the file /etc/runit/reboot
exists and has the execute by owner permission set. If so, the system is rebooted, it's halted otherwise.
CTRL-ALT-DEL
If runit receives the ctrl-alt-del keyboard request and the file /etc/runit/ctrlaltdel exists and has the execute by owner permission set,
runit runs /etc/runit/ctrlaltdel, waits for it to terminate, and then sends itself a CONT signal.
SIGNALS
runit only accepts signals in stage 2.
If runit receives a CONT signal and the file /etc/runit/stopit exists and has the execute by owner permission set, runit is told to shut-
down the system.
if runit receives an INT signal, a ctrl-alt-del keyboard request is triggered.
SEE ALSO
runit-init(8), runsvdir(8), runsvchdir(8), sv(8), runsv(8), chpst(8), utmpset(8), svlogd(8)
http://smarden.org/runit/
AUTHOR
Gerrit Pape <pape@smarden.org>
runit(8)