Go Back   The macosxhints Forums > OS X Help Requests > System



Reply
 
Thread Tools Rate Thread Display Modes
Old 08-19-2002, 06:52 PM   #1
drugloozer
Prospect
 
Join Date: Aug 2002
Posts: 2
Quitting the dock?

I've messed up my os X. (10.1.5 on a imac DV 500mhz)
I ran Norton Disc Doctor 6 from os 9.2 enviroment and I believe it messed with some files that now are corrupt in os X.

the main problem:

my dock doesn't appear.
and os X tells me to quit the dock.
how???

I bet you can force it to quit or restart in the terminal.
but I don't know unix that good. =(
when I checked the CPU monitor (the app) it said that the dock used 45% of my CPU!!!!

It's scary over here. HELP ME!!
__________________
/drüg.
drugloozer is offline   Reply With Quote
Old 08-20-2002, 06:10 AM   #2
Mr. Asswipe
Prospect
 
Join Date: Jul 2002
Location: Connecticut
Posts: 29
??

The dock is not hiding at the bottom of the screen? I doesn't pop up when you put your mouse down there? If it does re-appear you can do a "control+click" at the mid region where it separates the apps from the folders. It will give a cotextual menu. Just choose "quit"

Also in the terminal you can do this command: ps -x

This will show you everything that is running right now. It will look something like this:

localhost:~] UserName% ps -x
PID TT STAT TIME COMMAND
64 ?? Ss 0:21.95 /System/Library/Frameworks/ApplicationServices.framew
66 ?? Ss 9:06.90 /System/Library/CoreServices/WindowServer
355 ?? Ss 0:07.94 /System/Library/CoreServices/loginwindow.app/loginwin
358 ?? Ss 0:21.28 /System/Library/CoreServices/pbs
363 ?? S 1:02.89 /System/Library/CoreServices/Finder.app/Contents/MacO
365 ?? S 0:09.06 /System/Library/CoreServices/Dock.app/Contents/MacOS/
366 ?? S 0:08.67 /System/Library/CoreServices/SystemUIServer.app/Conte
367 ?? S 0:00.23 /Applications/iTunes.app/Contents/Resources/iTunesHel
368 ?? S 0:02.24 /Users/joshuaha/Library/PreferencePanes/FruitMenu.pre
794 ?? S 3:59.73 /Applications/Internet Explorer.app/Contents/MacOS/In
796 ?? S 0:15.35 /Applications/Sherlock.app/Contents/MacOS/Sherlock -p
797 ?? S 0:02.68 /Applications/Utilities/Terminal.app/Contents/MacOS/T
804 std Ss 0:00.16 -tcsh (tcsh)


If you see the one that says: 365 ?? S 0:09.06 /System/Library/CoreServices/Dock.app/Contents/MacOS/

At the next prompt you can do a kill command like this: kill -7 (whatever the pid number is. in my case it is 365)

Mine would look like: kill -7 365

This should quit your dock. It will restart itself. If "kill -7" does not work you can use "kill -8" DO NOT USE "KILL -9"

Hope this helps.
__________________
My pants are fancier than yours
Mr. Asswipe is offline   Reply With Quote
Old 08-20-2002, 08:48 AM   #3
stetner
MVP
 
Join Date: Jan 2002
Location: Brisbane, Australia
Posts: 1,108
Re: ??

Quote:
Originally posted by Mr. Asswipe
This should quit your dock. It will restart itself. If "kill -7" does not work you can use "kill -8" DO NOT USE "KILL -9"

Hope this helps.

kill -7 ????? --- You want to send it a SIGEMT (emulate instruction executed)???
kill -8 ????? --- You want to send it a SIGFPE (floating point exception)???
(see /usr/include/sys/signal.h for these. Granted a -7 or -8 will kill the dock, but it is not really 'proper' 8-)

From the man page for kill:
Code:
Some of the more commonly used signals:
     1       HUP (hang up)
     2       INT (interrupt)
     3       QUIT (quit)
     6       ABRT (abort)
     9       KILL (non-catchable, non-ignorable kill)
     14      ALRM (alarm clock)
     15      TERM (software termination signal)
By default kill sends a SIGTERM. In general you do want to try a normal 'kill <PID>' before using the -9 flag, but that is just so that a program has a chance to do some clean up if it needs to. Programs can 'catch' or 'ignore' signals and (if necessary) well written programs will catch signals like a SIGTERM and try to clean up if they have to and then quit.

If a program is really wedged, or just ignores the SIGTERM, a 'kill -9 <PID>' sends a SIGKILL that cannot be caught or ignored and will terminate the program immediately, which could leave files half written etc.

A lot of programs catch SIGHUP and will re-read their configuration files when they do then continue on thier merry way.

Signals are not all powerfull, if a process is blocked or sleeping, it does not receive a signal until it wakes up. If it doesn't un-block or wake up, no signal can kill it. Some other usefull ones are SIGSTOP and SIGCONT to stop (not kill, just stop) and continue a program (IE I use these to stop/start seti if I want more cpu cycles for some task) Hope this clarifies things a bit...
__________________
Douglas G. Stetner
UNIX Live Free Or Die
stetner is offline   Reply With Quote
Old 08-20-2002, 12:04 PM   #4
Mr. Asswipe
Prospect
 
Join Date: Jul 2002
Location: Connecticut
Posts: 29
Re: Re: ??

Quote:
Originally posted by stetner

kill -7 ????? --- You want to send it a SIGEMT (emulate instruction executed)???
kill -8 ????? --- You want to send it a SIGFPE (floating point exception)???
(see /usr/include/sys/signal.h for these. Granted a -7 or -8 will kill the dock, but it is not really 'proper' 8-)

From the man page for kill:
Code:
Some of the more commonly used signals:
     1       HUP (hang up)
     2       INT (interrupt)
     3       QUIT (quit)
     6       ABRT (abort)
     9       KILL (non-catchable, non-ignorable kill)
     14      ALRM (alarm clock)
     15      TERM (software termination signal)
By default kill sends a SIGTERM. In general you do want to try a normal 'kill <PID>' before using the -9 flag, but that is just so that a program has a chance to do some clean up if it needs to. Programs can 'catch' or 'ignore' signals and (if necessary) well written programs will catch signals like a SIGTERM and try to clean up if they have to and then quit.

If a program is really wedged, or just ignores the SIGTERM, a 'kill -9 <PID>' sends a SIGKILL that cannot be caught or ignored and will terminate the program immediately, which could leave files half written etc.

A lot of programs catch SIGHUP and will re-read their configuration files when they do then continue on thier merry way.

Signals are not all powerfull, if a process is blocked or sleeping, it does not receive a signal until it wakes up. If it doesn't un-block or wake up, no signal can kill it. Some other usefull ones are SIGSTOP and SIGCONT to stop (not kill, just stop) and continue a program (IE I use these to stop/start seti if I want more cpu cycles for some task) Hope this clarifies things a bit...

I agree. This is why I said DO NOT use -9. I did screw up on the -7 (I've got AIX at work) But would a -7 not work? By the looks of this man page the -3 is what would be needed. Yes?
__________________
My pants are fancier than yours
Mr. Asswipe is offline   Reply With Quote
Old 08-20-2002, 12:30 PM   #5
drugloozer
Prospect
 
Join Date: Aug 2002
Posts: 2
bigger problems.

thanx for the advice(s).
but now things are even worse.
my HD has crashed completly.
no disk repair utility seem to be able to repair my HD.
now I've swapped my internal IDE drive with the one in my firewire box so I maybe can repair it easier.
but the old "firewire" IDE drive (that's now in my imac) doesn't want to mount.

the drive that came with my imac is a maxtor 20 gb. ATA.
the drive from the firewire box is a IBM deskstar 40 gb.
this shouldn't be a problem.
I changed my 4 gb drive in my old imac233 to a 40gb without any problem...

any ideas?
__________________
/drüg.
drugloozer is offline   Reply With Quote
Old 08-20-2002, 03:35 PM   #6
Jay
Prospect
 
Join Date: Jan 2002
Posts: 25
You can always try running the file system check (fsck) in single user mode at startup. Here's how:
At startup, hold down Command-S after the startup chime. You'll see a bunch of unix text stuff, and after a few seconds, you'll get a command prompt. At the prompt, type this:
/sbin/fsck -y
That just runs the filesystem check program and the -y agrees to fix any problems it finds. When it finishes, it will either say "***** FILE SYSTEM WAS MODIFIED *****" or "no problems found." if it says file system modified, repeat /sbin/fsck -y until it reports no problems. Then type
exit
and it will boot up normally. It's all explained in this apple doc. Also, please don't blame me if your computer gets screwed up.
EDIT: I forgot to mention that you can also force quit the dock and see what it's up to with the Process viewer in Applications/Utilities. Easier than using the terminal.

Last edited by Jay; 08-20-2002 at 03:37 PM.
Jay is offline   Reply With Quote
Old 08-22-2002, 08:23 AM   #7
stetner
MVP
 
Join Date: Jan 2002
Location: Brisbane, Australia
Posts: 1,108
Signals

Quote:
Originally posted by Mr. Asswipe
I agree. This is why I said DO NOT use -9. I did screw up on the -7 (I've got AIX at work)
But would a -7 not work? By the looks of this man page the -3 is what would be needed. Yes?

Well, most of the general signals are the same in all UNIX's. A quick google showed me this:
Code:
Signals

Like HP-UX, AIX really has two kill commands: /bin/kill and the kill
built-in KornShell command. The signals for each differ. For example:


# /bin/kill -l
NULL HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE
ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ MSG
WINCH PWR USR1 USR2 PROF DANGER VTALRM MIGRATE PRE GRANT RETRACT
SOUND SAK
# kill -l
 1) HUP   14) ALRM     27) MSG       40) bad trap  53) bad trap
 2) INT   15) TERM     28) WINCH     41) bad trap  54) bad trap
 3) QUIT  16) URG      29) PWR       42) bad trap  55) bad trap
 4) ILL   17) STOP     30) USR1      43) bad trap  56) bad trap
 5) TRAP  18) TSTP     31) USR2      44) bad trap  57) bad trap
 6) LOST  19) CONT     32) PROF      45) bad trap  58) bad trap
 7) EMT   20) CHLD     33) DANGER    46) bad trap  59) bad trap
 8) FPE   21) TTIN     34) VTALRM    47) bad trap  60) GRANT
 9) KILL  22) TTOU     35) MIGRATE   48) bad trap  61) RETRACT
10) BUS   23) IO       36) PRE       49) bad trap  62) SOUND
11) SEGV  24) XCPU     37) bad trap  50) bad trap  63) SAK
12) SYS   25) XFSZ     38) bad trap  51) bad trap
13) PIPE  26) bad trap 39) bad trap  52) bad trap
So it looks like AIX is similar. In general kill <PID> sends a SIGTERM which should do the trick.
If that doesn't work, you could try a -7 or a -8, but that is
the same as the OS telling your program it had a floating point
error or a EMT. Kind of like hammering a nail in with a
screwdriver, yeah, it will work, but thats not really how to do it 8-)

If the program does not trap -7 or -8 and do a clean exit,
I *think* the end result is the same as a -9, the program just
dies in its tracks (SIGSTOP and SIGCONT seem to be exceptions in
that the OS seems to grab them and stop/continue the target PID).

IE the only reason you do a plain kill first is on
the off chance that the program will catch the SIGTERM and do
some housekeeping before exiting. If it does not catch the signal,
it dies the same as a -9.

So, given that SIGTERM is the default signal, that is probably the
best one to try first because if a programmer is going to catch anything,
that would be it. After that, it probably doesn't matter much,
I would just go to -9.
__________________
Douglas G. Stetner
UNIX Live Free Or Die
stetner is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



All times are GMT -5. The time now is 05:57 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.
Site design © IDG Consumer & SMB; individuals retain copyright of their postings
but consent to the possible use of their material in other areas of IDG Consumer & SMB.