Visit Our UNIX and Linux User Community


Help with Signals


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Help with Signals
# 1  
Old 08-14-2013
Question Help with Signals

Hi All,

The problem statement is as below:

Problem: A process (exe) is getting executed in background. The output of this process is getting logged in a file. After successfully running for some time the process gets terminated. In the log file following is present:

^M[7m Interrupt ^M[27m

Please note that this does not happen all the time and can be taken as once in a blue moon scenario.

if 7 and 27 are signals then 7 is for abort and 27 is for sigttin (used kill -l).

It would be good if some pointers can be given around the same. Need to know how these signals are getting generated and why they do not appear all the time. Any reference material would also help. Thank you
# 2  
Old 08-14-2013
Just a guess here...

Normally ^M is equal to CR, (0x0D), usually part of Windows Carriage Return - Newline combination.

[ can be a test of some part of a script, OR, a pseudo-escape character.

If a pseudo-escape character, then Xm, where X is a number, is to do with a *NIX style terminal display setup...

I could be wrong however...

Last edited by wisecracker; 08-14-2013 at 10:09 AM..
# 3  
Old 08-14-2013
man console_codes:
Quote:
NAME
console_codes - Linux console escape and control sequences
. . .
ECMA-48 Set Graphics Rendition
The ECMA-48 SGR sequence ESC [ parameters m sets display attributes.

param result
. . .
7 set reverse video
. . .
27 reverse video off
This User Gave Thanks to RudiC For This Post:
# 4  
Old 08-14-2013
Hi RudiC...

Thanks for the man page, I didn't know that existed.

I do know the escape codes however...
# 5  
Old 08-14-2013
The requestor's log file entry has nothing to do with signals; it's just setting "display" to reverse video, outputs "interrupt", and resets to normal video (given that ^M stands for "Escape", which, I admit, may be a wild assumption).
# 6  
Old 08-15-2013
Interrupt is interesting here. SIGINT will generate that response as it is the name most systems "give" to that signal number (note: actual number may vary)

Code:
/usr/include/cygwin/signal.h:#define    SIGINT  2       /* interrupt */

from the cygwin install on this PC.

This is different from a driver interrupt - where a thread's current registers are pushed onto an interrupt stack. This appears to be a signal. And signals do cause asynchronous interrupts and process termination if they are not handled as part of the process signal mask.

IMO: The problem is the code being executed. The point is something appears to be generating a SIGINT that goes unhandled in the process.

Since you state nothing about what is running....

Add a diagnostic signal handler to the code java, C, perl, etc., ( or a trap statement in shell) to tell when/where it happens. Also note - a process can call raise() in code or kill in shell to send a signal to itself, which is another avenue to explore.
# 7  
Old 08-15-2013
hey wisecracker, RudiC and jim.....thanks for the help...I m currently looking into the issue....would update if i am able to crack it.... Smilie

Previous Thread | Next Thread
Test Your Knowledge in Computers #130
Difficulty: Easy
The original Unix code was developed by AT&T.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Blocking signals

I know how to add signal to a set. But what if I want to add 2 or 3 signals to the set. I know I can use sigaddset (&set,SIGBUS)....but what if I want to add SIGBUS and SIGALRM at once. Do i have to do it like this.. sigaddset (&set,SIGBUS); sigaddset (&set,SIGALRM); Is there another way to... (0 Replies)
Discussion started by: joker40
0 Replies

2. UNIX for Dummies Questions & Answers

perror with signals

I have following problem with this code.. First time trough the main loop..... perror gives ....blocked signal:success(all other times gives illlegal seek) Should every time trought the main loop be success?? And the perror otside of main loop...didn't change mask:success That line of code... (2 Replies)
Discussion started by: joker40
2 Replies

3. UNIX for Dummies Questions & Answers

Help understanding signals

I am having trouble with folowing sigset_t s; // now s represents set of signals sigemptyset(&s) ; // initialize this set and exclude all the signals from it.is it empty? sigaddset(&s,SIGILL);//this set containts only SIGILL signal sigprocmask(SIG_BLOCK,&s,NULL);//lost on this one Can... (3 Replies)
Discussion started by: joker40
3 Replies

4. Programming

Can we debug Signals

Hi, In our program, we are using SIGTERM and i tired to put break point in this function. But my debuger is unable to brake at that point. I am working on Mac X and using XCode. Thanks (1 Reply)
Discussion started by: Saurabh78
1 Replies

5. OS X (Apple)

How to debug signals

Hi, In our program, we are using SIGTERM and i tired to put break point in this function. But my debuger is unable to brake at that point. I am working on Mac X and using XCode. Thanks (0 Replies)
Discussion started by: Saurabh78
0 Replies

6. Programming

threads and signals

can any one give me an example of a concurrency program in threads and signals, i.e how to deliver messages between threads using signals. thanks (2 Replies)
Discussion started by: moe_7
2 Replies

7. UNIX for Dummies Questions & Answers

threads and signals

can any one give me an example of a concurrency program in threads and signals, i.e how to deliver messages between threads using signals. thanks (0 Replies)
Discussion started by: moe_7
0 Replies

8. Programming

Using Signals

How can use signals in a C program If i want a child program to signal it's parent program that it(child) program has completed the task that it was assigned.:confused: (2 Replies)
Discussion started by: kapilv
2 Replies

9. UNIX for Dummies Questions & Answers

Signals...

(posted this in the scripting forum as well, but figured it should go here) So, what's going on is this: For our program, we had to create our own shell, and if the user pressed ctrl-c just at the cmdline, then this signal would be ignored, but if there is a foreground process running, let's... (0 Replies)
Discussion started by: blind melon
0 Replies

10. Programming

Signals In HP-UX

does the way of handling, interrupting signals in HP-UX same as that of solaris. If there is difference than what it is.?:confused: (1 Reply)
Discussion started by: kapilv
1 Replies

Featured Tech Videos