Sponsored Content
Top Forums Shell Programming and Scripting Ctrl-C or Ctrl-Z causing exit the session Post 302433354 by methyl on Tuesday 29th of June 2010 09:48:07 AM
Old 06-29-2010
There are a few problems in the script.

Quote:
${HOME}/${PROCESS}.pl ${OPTIONAL} 2>&1 > $LOGFILENAME &
#check exit status
status=$?
The value of $status is not the exit status of the Perl program, it is the exit status of "&" which would normally be zero. This affects the whole logic of your script.
Backgrounding the Perl program seems pointless because it is immediately brought to foreground.

Quote:
trap 'cleanup' 2 9 15 17 19 20
To be effective the trap needs to be before the "while" line.


The script as it stands will try to start an infinite number of identical Perl programs unless the trap is triggered when it will execute "cleanup" and leave the Perl program(s) running. If the value of $SLEEP} is greater than the run time of one Perl program it may only run one Perl program at a time.

There is no provision for stopping the Perl program or waiting for it to finish before starting another one. It is unclear whether you want to stop the Perl program when someone presses ctrl/c or ctrl/z . Maybe I'm being thick but I don't understand what you are trying to do.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Enabling Ctrl-c

Do you have to set somthing in a users .profile to allow use of Ctrl-C (3 Replies)
Discussion started by: Corewin
3 Replies

2. AIX

Disable ctrl-c,ctrl-d,ctrl-d in ksh script

I wrote a ksh script for Helpdesk. I need to know how to disable ctrl-c,ctrl-z,ctrl-d..... so that helpdesk would not be able to get to system prompt :confused: (6 Replies)
Discussion started by: wtofu
6 Replies

3. Shell Programming and Scripting

Catching ctrl-C or ctrl-D

Hi there, I'm using HP-UX 11 machine. I am running a script, thats gonna take a long time to execute. When I press ctrl-c to come out of my script, I have to catch that signal(ctrl-c) and display that ctrl-c had been pressed. How can I do it. Thanks in advance (2 Replies)
Discussion started by: sendhilmani123
2 Replies

4. Programming

Catch ctrl+d in C

Hello, I am programming some kind of shell in special distribution of Linux. My trouble comes with programming the sort function. It should work the same like in the standard shell. When you terminate input, there's need to put End Of Transmission character, which is CTRL+D. But I am not able to... (2 Replies)
Discussion started by: samciz
2 Replies

5. Shell Programming and Scripting

ctrl-c in script

how to send ctrl-c signal in scripts ??? i am executing top command in .exp script top command gives cpu running activities on your machine eg # top top - 18:41:01 up 8:38, 5 users, load average: 0.03, 0.16, 0.16 Tasks: 172 total, 1 running, 170 sleeping, 0 stopped, 1 zombie... (3 Replies)
Discussion started by: alexzander18
3 Replies

6. Linux

ctrl+c not working

Hi All, I have ran one command tail -f <filename> to view newly appended text to that file. When i was done i pressed ctrl+c command to stop it but to my suprise it didn't work. I then tried top command and pressed ctrl+c and it worked fine and command aborted. I then just checked the tail... (0 Replies)
Discussion started by: tushar_shah06
0 Replies

7. Shell Programming and Scripting

How to handle CTRL+Z or CTRL+C in shells script?

Hi, while executing shell script, in the middle of the process, if we kill the shell script( ctrl+z or ctrl+c), script will be killed and the files which using for the script will be in the folder. How to handle those scenarios. Is there any possibilities, if user breaks the script, I need to... (3 Replies)
Discussion started by: ckchelladurai
3 Replies

8. Shell Programming and Scripting

I dont want to exit the program by ctrl + c

Hey , guys I am new to shell programing ,, so need a help from you guys ... I have to write a shell script that accepts file name or directory name from the user if it is a directory then throw an error if it is a file then give the user two options . 1.overwrite the content 2.append the... (2 Replies)
Discussion started by: coolashu
2 Replies

9. UNIX for Dummies Questions & Answers

Ctrl-V + Ctrl-J for newline character does not work inside vi editor

Hi friends, I am trying to add a newline char ('\n') between the query and the commit statement in the following shell script. #! /bin/sh echo "select * from tab; commit;" > data.sql I have tried typing in "Ctrl-V + Ctrl-J" combination which has inserted ^@ (NUL) character but the commit... (1 Reply)
Discussion started by: royalibrahim
1 Replies

10. Shell Programming and Scripting

Automation of keyboard inputs..like Ctrl+d and Ctrl+a

Hi..! I'm stuck with my automation of starting a process and keeping it running even after the current ssh session has exited.. So i'm trying to use command 'screen'. which is doing exactly what i wanted, But the problem is automation of the same. i will have to press Ctrl+a and Ctrl+d for... (2 Replies)
Discussion started by: chandana hs
2 Replies
vmsish(3pm)						 Perl Programmers Reference Guide					       vmsish(3pm)

NAME
vmsish - Perl pragma to control VMS-specific language features SYNOPSIS
use vmsish; use vmsish 'status'; # or '$?' use vmsish 'exit'; use vmsish 'time'; use vmsish 'hushed'; no vmsish 'hushed'; vmsish::hushed($hush); use vmsish; no vmsish 'time'; DESCRIPTION
If no import list is supplied, all possible VMS-specific features are assumed. Currently, there are four VMS-specific features available: 'status' (a.k.a '$?'), 'exit', 'time' and 'hushed'. If you're not running VMS, this module does nothing. "vmsish status" This makes $? and "system" return the native VMS exit status instead of emulating the POSIX exit status. "vmsish exit" This makes "exit 1" produce a successful exit (with status SS$_NORMAL), instead of emulating UNIX exit(), which considers "exit 1" to indicate an error. As with the CRTL's exit() function, "exit 0" is also mapped to an exit status of SS$_NORMAL, and any other argument to exit() is used directly as Perl's exit status. "vmsish time" This makes all times relative to the local time zone, instead of the default of Universal Time (a.k.a Greenwich Mean Time, or GMT). "vmsish hushed" This suppresses printing of VMS status messages to SYS$OUTPUT and SYS$ERROR if Perl terminates with an error status, and allows programs that are expecting "unix-style" Perl to avoid having to parse VMS error messages. It does not suppress any messages from Perl itself, just the messages generated by DCL after Perl exits. The DCL symbol $STATUS will still have the termination status, but with a high-order bit set: EXAMPLE: $ perl -e"exit 44;" Non-hushed error exit %SYSTEM-F-ABORT, abort DCL message $ show sym $STATUS $STATUS == "%X0000002C" $ perl -e"use vmsish qw(hushed); exit 44;" Hushed error exit $ show sym $STATUS $STATUS == "%X1000002C" The 'hushed' flag has a global scope during compilation: the exit() or die() commands that are compiled after 'vmsish hushed' will be hushed when they are executed. Doing a "no vmsish 'hushed'" turns off the hushed flag. The status of the hushed flag also affects output of VMS error messages from compilation errors. Again, you still get the Perl error message (and the code in $STATUS) EXAMPLE: use vmsish 'hushed'; # turn on hushed flag use Carp; # Carp compiled hushed exit 44; # will be hushed croak('I die'); # will be hushed no vmsish 'hushed'; # turn off hushed flag exit 44; # will not be hushed croak('I die2'): # WILL be hushed, croak was compiled hushed You can also control the 'hushed' flag at run-time, using the built-in routine vmsish::hushed(). Without argument, it returns the hushed status. Since vmsish::hushed is built-in, you do not need to "use vmsish" to call it. EXAMPLE: if ($quiet_exit) { vmsish::hushed(1); } print "Sssshhhh...I'm hushed... " if vmsish::hushed(); exit 44; Note that an exit() or die() that is compiled 'hushed' because of "use vmsish" is not un-hushed by calling vmsish::hushed(0) at runtime. The messages from error exits from inside the Perl core are generally more serious, and are not suppressed. See "Perl Modules" in perlmod. perl v5.16.3 2013-03-04 vmsish(3pm)
All times are GMT -4. The time now is 06:30 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy