Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!


ps -ax | 13 comments | Create New Account
Click here to return to the 'ps -ax' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
ps -ax
Authored by: Anonymous on Apr 20, '01 12:26:31AM
after you su to root in the terminal, type 'ps -ax' and you should see all processes, find the one you want to kill, and 'kill -9 #INSERT PROCESS ID HERE#'

i forget what the -9 is for, but it's good in case something doesn't want to be killed, so -9 is kind of like a kill with extreme prejudice. You can always read the man pages...

[ Reply to This | # ]

ps -ax
Authored by: Anonymous on Apr 20, '01 10:26:52AM

The -9 flag will terminate the process immediately without giving the process a chance to exit cleanly. Using -HUP (hangup) is "nicer" in that the program may be able to shut itself down, but OTOH -HUP doesn't always work and you have to resort to -9 anyway.

For more information open your terminal and type "man kill".



[ Reply to This | # ]
Oh yeah, one more thing...
Authored by: Anonymous on Apr 20, '01 10:29:26AM

The usual way to restart a daemon to reconfigure it is to use kill -HUP. Dunno if it works for mysql but I've done this many times for inetd on solaris 2.6.



[ Reply to This | # ]
ps -ax
Authored by: robh on Apr 20, '01 11:08:41AM

Your description of -HUP sounds more like the definition of -TERM (-15).

Kill -HUP is sometimes used to tell a process to restart/refresh. Often it does absolutelty nothing. The author of the program decides what to do in response to a -HUP.

Kill -TERM tells a process to shutdown (TERMinate) and gives the process the opportunity to do so cleanly.

kill -KILL (aka kill -9) is a shutdown that doesn't allow the process to shutdown cleanly.

If you type "kill -l" (that's an 'L' not the number one) you'll get a list of signals. Count them off to find the numeric equivalent.

kill -l
HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO USR1 USR2



[ Reply to This | # ]
DON'T NEED ROOT!
Authored by: babbage on Apr 20, '01 02:51:11PM
Having access to the root account is a sharp & powerful double-edged sword.
It's not by accident that Apple locked it out by default, and that decision
shouldn't be crossed lightly.

In most cases, `sudo` is a far safer tactic. It allows you to run a command
as another user (such as of course the root account), and you're not left in
that other users account where it is all too easy to make a mess of things.

Better by far here would be to find & kill the process in question this way:


% ps ax | grep mysql
[any processes show up, including possibly the grep]
% sudo kill [mysql process number]
Password: [enter admin password]
% ps ax | grep mysql



That last line is a test to make sure it worked. If it didn't, try
`kill`ing again with numbers increasing from 5 to 9 (shifting from safer
"let it die gracefully" commands to riskier "alright just shut down NOW"
commands):


% ps ax | grep mysql
% sudo kill -5 [mysql process number]
[note that you won't be asked for the password again,
if you're within 5 minutes of first trying `sudo`.]

% ps ax | grep mysql
% sudo kill -6 [mysql process number]
% ps ax | grep mysql
% sudo kill -7 [mysql process number]
% ps ax | grep mysql
% sudo kill -8 [mysql process number]
% ps ax | grep mysql
% sudo kill -9 [mysql process number]
% ps ax | grep mysql


It should work by the time you get to -9, but hopefully sooner.

Of course, as another poster noted, this isn't the right way to do it
anyhow. The mysql distribution should have included a shutdown script. If
I knew mysql better I'd quote the command & syntax myself, but the other
poster already said it and, moreover, your mysql documentation should
surely have mentioned how to start & stop the server properly.

Read The Funny Manual!

[ Reply to This | # ]

DON'T NEED ROOT! + bad advice
Authored by: robh on Apr 20, '01 06:20:19PM
Part of the previous post is BAD advice. Doing a kill -5, -6, -7, -8, before resorting to -9 is nonsense. To kill off a process, try -15 then -9. Each numeric argument corresponds to a different signal. The 'kill' command is a misnomer since it's a tool to send signals to processes, and only one of the signals happens to be '-9', the kill signal. For example, kill -8 is equivalent of telling the process it has experienced a floating-point exception and you want a core dump created (a huge debugging file, useless in this context). Here's a list of signals, their numbers, names and descriptions. The info came from 'man sigaction', I added the numbers for clarity.
    NAME            Default Action          Description
1   SIGHUP          terminate process       terminal line hangup
2   SIGINT          terminate process       interrupt program
3   SIGQUIT         create core image       quit program
4   SIGILL          create core image       illegal instruction
5   SIGTRAP         create core image       trace trap
6   SIGABRT         create core image       abort(2) call (formerly SIGIOT)
7   SIGEMT          create core image       emulate instruction executed
8   SIGFPE          create core image       floating-point exception
9   SIGKILL         terminate process       kill program
10  SIGBUS          create core image       bus error
11  SIGSEGV         create core image       segmentation violation
12  SIGSYS          create core image       system call given invalid argument
13  SIGPIPE         terminate process       write on a pipe with no reader
14  SIGALRM         terminate process       real-time timer expired
15  SIGTERM         terminate process       software termination signal
16  SIGURG          discard signal          urgent condition present on socket
17  SIGSTOP         stop process            stop (cannot be caught or ignored)
18  SIGTSTP         stop process            stop signal generated from keyboard
19  SIGCONT         discard signal          continue after stop
20  SIGCHLD         discard signal          child status has changed
21  SIGTTIN         stop process            background read attempted from control terminal
22  SIGTTOU         stop process            background write attempted to control terminal
23  SIGIO           discard signal          I/O is possible on a descriptor (see fcntl(2))
24  SIGXCPU         terminate process       cpu time limit exceeded (see qsetrlimit(2))
25  SIGXFSZ         terminate process       file size limit exceeded (see setrlimit(2))
26  SIGVTALRM       terminate process       virtual time alarm (see setitimer(2))
27  SIGPROF         terminate process       profiling timer alarm (see setitimer(2))
28  SIGWINCH        discard signal          Window size change
29  SIGINFO         discard signal          status request from keyboard
30  SIGUSR1         terminate process       User defined signal 1
32  SIGUSR2         terminate process       User defined signal 2


[ Reply to This | # ]
DON'T NEED ROOT! + bad advice
Authored by: babbage on Apr 20, '01 07:05:47PM
:)

I stand corrected. Very interesting.

[ Reply to This | # ]