SIGTERM failing in AIX


 
Thread Tools Search this Thread
Operating Systems AIX SIGTERM failing in AIX
# 1  
Old 06-07-2017
IBM SIGTERM failing in AIX

I have 2 AIX 6.1 systems running on PowerPCs - production and .. .everything else. Smilie . Until the installation of a TLS certificate in an application, some copying of files ("cloning an environment") and upgrading a listener, sending a kill -15 worked on any script/application, so long as we were using the same user.

Specifically, we start listeners, which launches a java process in this application (Ellucian Colleague) and it creates a "stopdmi" script which issues a kill -15 <Listener'sPID>. However, that's no longer functioning.

I went to our other system and created the following simple script:

Code:
#!/bin/ksh

trap "echo 'Received Kill signal'; exit" SIGHUP SIGINT SIGTERM

while true;do
    echo "waiting..."
done

chmod 700 that and run it as some user - let's say "jim". I see a screenful of "waiting" now. Open up another terminal and log in as Jim. Do a kill <scriptPID> - no response. Do a kill -9 and it works just fine (considering it's a SIGKILL... not good on a production java app).

I've tried this on CentOS 7.x and FreeBSD (sorry -whichever version FreeNAS 9.x is running on) and it behaves as I expect - the script stops.

The same issue happens if I take the trap statement out on AIX - only kill -9 will terminate the process.

Can anyone clue me in to what is going on? Is there some reason AIX doesn't behave like other *nix systems?

Thank you in advance for any help you can give me...
# 2  
Old 06-07-2017
As far as I am aware there is no problem with SIGTERM on AIX compared to any other other standards compliant UNIX. Any signal can optionally be blocked, except SIGSTOP and SIGKILL.

There has to be a login/startup/setup script that is blocking SIGTERM. I don't have magic suggestions. But what you describe is not standard out of the box behavior.

I would start by checking the usual suspects like profile scripts and login scripts.
Other regulars here on the forums have a lot of detailed AIX knowledge, hopefully they have an explanation or a strategy to help.
# 3  
Old 06-08-2017
K.. I found the issue. 'Twas a trap "" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Now. Can anyone explain to me.. WHY someone would do this? Is there any logical purpose to it?

Last edited by rbatte1; 06-09-2017 at 07:56 AM.. Reason: Added ICODE tags
# 4  
Old 06-08-2017
Quote:
Originally Posted by Mrucker
K.. I found the issue. 'Twas a trap "" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Now. Can anyone explain to me.. WHY someone would do this? Is there any logical purpose to it?
I take it, the question was not (only) rhethorical, yes?

First, why one would try to intercept a non-maskable interrupt like -9 is beyond me - most probably a case of "have not understood the concept of non-maskable". The other signals - well, if you want to trap these (that is - want your program not to do anything whe these signals are received), then this is what you do. I have done similar things on occasion when i wanted a script not to be stoppable by a CTRL-C. Still, i think the occasions where this is desirable are quite limited and in most cases this is a pretty bad idea .

So - there, if this commiserating helps you any.

bakunin

Last edited by rbatte1; 06-09-2017 at 07:57 AM.. Reason: Retro added ICODE tags edit into quoted post
# 5  
Old 06-08-2017
I presume that:
  1. the script that you showed us that you're trying to kill is not the actual code that you're trying to kill,
  2. that you are not the author of the code you're trying to kill (since you didn't know the trap was there), and
  3. that you didn't consult with the author of that script before trying to write code to kill it
.
One obvious reason why someone would add a trap command to ignore signals to a script that is expected to run for a while (i.e., more than a 1 instruction cycle) would be to keep scripts like yours from randomly killing them. Trying to ignore SIGSTOP and SIGKILL produces undefined results, but it is certainly a reasonable first attempt to keep a script running while the author of that script tracks down why their script is being terminated for no obvious reason.
# 6  
Old 06-09-2017
Quote:
Originally Posted by Don Cragun
Trying to ignore SIGSTOP and SIGKILL produces undefined results, but it is certainly a reasonable first attempt to keep a script running while the author of that script tracks down why their script is being terminated for no obvious reason.
Sorry, but while i could respect that motivation having had to deal for quite some time (my professional "career") with the scripts application providers tend to supply i have to respectfully disagree with you.

Much more common than the motivation "i try to be as circumspect as i can" is the motivation "i cover my backside as good as possible", not to forget the motivation "i make it hard for the sysadmin to understand what i am doing so i can sell consulting hours to the customers". Honestly, you won't believe what i have seen shipped as "production code" in form of shell scripts during my life as an AIX administrator. People showing such code here in the beginners forum would get admonished for it - and rightly so!

So, yes, what you said *could* be a possible motivation for the scripts author. More likely, given the state of the real world, though, is was just for no particular reason at all.

bakunin
# 7  
Old 06-21-2017
Quote:
Originally Posted by bakunin
So, yes, what you said *could* be a possible motivation for the scripts author. More likely, given the state of the real world, though, is was just for no particular reason at all.

bakunin
Another frequent source of misery is "cut/paste" of something that was found via google.

# comments in code, especially about traps - helps those who come later!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. AIX

Failing to add new NetApp disk AIX 7.1 - but no error

Hello, AIX 7.1 - several NetApp disks already running. Trying to install a new one. Storage folks provision it. I run cfgmgr - nothing. no new disks show up in "lsdev", "sanlun lun show" shows no new device. No errors, just nothing. Storage guys disconnect it and attaches to another aix server -... (5 Replies)
Discussion started by: sid
5 Replies

2. Shell Programming and Scripting

ksh child process not ignoring SIGTERM

My ksh version is ksh93- =>rpm -qa | grep ksh ksh-20100621-3.fc13.i686 I have a simple script which is as below - #cat test_sigterm.sh - #!/bin/ksh trap 'echo "removing"' QUIT while read line do sleep 20 done I am Executing the script From Terminal 1 - 1. The ksh is started... (3 Replies)
Discussion started by: rpoornar
3 Replies

3. Shell Programming and Scripting

Current instance of Shell ignoring SIGTERM

Hello. Could anyone tell me how can I configure a instance of Shell to ignore the SIGTERM signal? I would really appreciate. Thanks. (6 Replies)
Discussion started by: razolo13
6 Replies

4. AIX

FIREFOX Failing in AIX

Hi Guys, I tried running the firefox in AIX 6.1 and got the below error.. -bash-3.00# firefox Could not load program /usr/mozilla/firefox/firefox-bin: Could not load module /usr/mozilla/firefox/libxul.so. Dependent module /usr/lib/libgtk-x11-2.0.a(libgtk-x11-2.0.so.0) could not... (0 Replies)
Discussion started by: kkeng808
0 Replies

5. Programming

Reliable management of signal SIGPIPE and SIGTERM

I' m note very expert in the reliable manage of signal... but in my server I must manage SIGPIPE for the socket and SIGTERM... I've wrote this but there is something wrong... Can someone explain me with some example the reliable management of signal?? This is what I've wrote in the server ... (2 Replies)
Discussion started by: italian_boy
2 Replies

6. Shell Programming and Scripting

How to detect SIGTERM,SIGKILL signal in UNIX

Dear All We have JBOSS server running on Linux we need to track Graceful Shutdown(SIGTERM) and Forceful Shutdown(SIGKILL) timestamp and write it into one file, I am new to UNIX Signal processing if is it possible how to detect it? We generally do $kill PID For Graceful... (5 Replies)
Discussion started by: mnmonu
5 Replies

7. Programming

the parent receive SIGTERM from its child (httpd) ?

the parent is a process manager in our design, and httpd service is one of its child processes, which is started in foreground mode (with "-D FOREGROUND" options) according to our requirements. when httpd service is started, one main httpd process and eight sub httpd processes can be found by... (4 Replies)
Discussion started by: aaronwong
4 Replies

8. Programming

How to implement SIGKILL and SIGTERM and print a message?

Hello, I am running a webserver that uses sockets, forks, and children. The parent process listens for connections and the child processes the information. I am trying to figure out why the code I have below SIGTERM, and SIGKILL never fire. I was messing around with the printfs and doesnt... (11 Replies)
Discussion started by: norelco55
11 Replies

9. HP-UX

make fuser send SIGTERM?

Hello, Nice forum BTW... anyway on to my question. I am trying to write a korn shell script that will shut down a java VM. The first challenge was how to figure out which java VM to kill, as there can be other java processes running at the same time. Then I discovered fuser. It says it... (4 Replies)
Discussion started by: adamides
4 Replies

10. Programming

signals - SIGTERM

Hi all, I need some urgent help. we are using Dynix/ptx V4.5 on i386, have several processes and instances are running on the box round the clock.we increased the processes recently. We have coded to handle the signals in our programs. Recently, we noticed most of our processes are... (2 Replies)
Discussion started by: reddyb
2 Replies
Login or Register to Ask a Question