Finns Close, Kill och Destroy i OSX ?

Tråden skapades och har fått 9 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Alingsås
  • 2009-08-28 16:28

Undrar bara om man i promten kan använda ovanstående kommandon för att stänga
prog. i osx på något sätt? Även nyfiken på skillnaderna mellan dem inbördes och om man jämför tvångsavsluta i OSX. Tycker nämligen att tvångsavsluta kan vara lite seg i bland medans Kill och Destroy i skolan verkligen DÖDAR allt i sin väg direkt.

  • Medlem
  • Stockholm
  • 2009-08-29 17:59

Kill är väl det enda shell kommandot tror jag väl. Kolla "man kill" i terminalen, tror iofs att samma sak händer om man avslutar en process i finder. Vet i och för sig inte vad som händer om man skulle missa att ett program har flera processer, kan ju hända att de då ligger kvar i bakgrunden? Tror att det där är ordnat om man gör det via Finder.

Senast redigerat 2009-08-29 21:12
  • Medlem
  • 2009-08-29 18:26

Kolla "killall" och se om det är vad du behöver.

edit: äh här är det:

KILLALL(1)                BSD General Commands Manual               KILLALL(1)

NAME
     killall -- kill processes by name

SYNOPSIS
     killall [-delmsvz] [-help] [-u user] [-t tty] [-c procname] [-SIGNAL]
             [procname ...]

DESCRIPTION
     The killall utility kills processes selected by name, as opposed to the
     selection by pid as done by kill(1).  By default, it will send a TERM
     signal to all processes with a real UID identical to the caller of
     killall that match the name procname.  The super-user is allowed to kill
     any process.

     The options are as follows:

           -d | -v     Be more verbose about what will be done.  For a single
                       -d option, a list of the processes that will be sent
                       the signal will be printed, or a message indicating
                       that no matching processes have been found.

           -e          Use the effective user ID instead of the (default) real
                       user ID for matching processes specified with the -u
                       option.

           -help       Give a help on the command usage and exit.

           -l          List the names of the available signals and exit, like
                       in kill(1).

           -m          Match the argument procname as a (case sensitive) regu-
                       lar expression against the names of processes found.
                       CAUTION!  This is dangerous, a single dot will match
                       any process running under the real UID of the caller.

           -s          Show only what would be done, but do not send any sig-
                       nal.

           -SIGNAL     Send a different signal instead of the default TERM.
                       The signal may be specified either as a name (with or
                       without a leading SIG), or numerically.

           -u user     Limit potentially matching processes to those belonging
                       to the specified user.

           -t tty      Limit potentially matching processes to those running
                       on the specified tty.

           -c procname
                       When used with the -u or -t flags, limit potentially
                       matching processes to those matching the specified
                       procname.

           -z          Do not skip zombies.  This should not have any effect
                       except to print a few error messages if there are zom-
                       bie processes that match the specified pattern.

ALL PROCESSES
     Sending a signal to all processes with uid XYZ is already supported by
     kill(1).  So use kill(1) for this job (e.g. $ kill -TERM -1 or as root $
     echo kill -TERM -1 | su -m <user>)

EXIT STATUS
     The killall command will respond with a short usage message and exit with
     a status of 2 in case of a command error.  A status of 1 will be returned
     if either no matching process has been found or not all processes have
     been signalled successfully.  Otherwise, a status of 0 will be returned.

DIAGNOSTICS
     Diagnostic messages will only be printed if requested by -d options.

SEE ALSO
     kill(1), sysctl(3)

HISTORY
     The killall command appeared in FreeBSD 2.1.  It has been modeled after
     the killall command as available on other platforms.

AUTHORS
     The killall program was originally written in Perl and was contributed by
     Wolfram Schneider, this manual page has been written by Jorg Wunsch.  The
     current version of killall was rewritten in C by Peter Wemm using
     sysctl(3).

BSD                            January 26, 2004                            BSD
(END) 

  • Medlem
  • Stockholm
  • 2009-08-29 21:09
Ursprungligen av Baron:

Kolla "killall" och se om det är vad du behöver.

Ja, killall är väl ett bättre alternativ igentligen för detta eftersom man slipper kolla upp process id.

Ibland drabbas jag av processer som varken tvångsavsluta eller kill (ens med -9) kan ha ihjäl. Det brukar vara Skivkontroll eller DVD-spelaren. Finns det annat som hjälper, killall till exempel? (Det brukar dock hjälpa att slita ut enheten som krånglar, men det är alltid jobbigt att gå sådana bakvägar.)

  • Medlem
  • Stockholm
  • 2009-08-30 19:23

Vad jag har förstått så skickar både kill och killall ett "sigterm" system anrop som förval. Så det verkar ju som skilnaden ligger i att killall är mer användar vänlig. Såg att kill har ett par andra alternativ till term, som quit och abort t.ex. Kan kanske hjälpa om det är en disk eller DVD som inte svarar. Det här är taget från kills man sida:

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)

Såg även att -l flaggan listar alla möjliga signaler man kan skicka med kill eller killall.

Senast redigerat 2009-08-30 19:43
  • Medlem
  • Alingsås
  • 2009-09-02 16:29

ska testa det när ett app. hänger sig .
Någon som vet ett dåligt program att testa på ?
Synd inte windows räknas som ett prog. det borde ju annars hänga sig inom 10 min mohahahaha

Close och Destroy är väl X11-relaterade kommandon? Mig veterligen finns inte motsvarande i TrueBlue.

  • Medlem
  • Göteborg
  • 2009-12-04 19:18

Ibland vill man dock döda en specifik process trots att man har igång andra processer med samma namn. (Som inte har hängt sig, t.ex.).
Då duger inte killall, och då är det oumbärligt att kunna köra kill -s 9 <processid>.

kill -3 pid borde väl motsvara Close (utan att jag vet exakt vad close och destroy gör).
och
kill -9 pid borde väl motsvara Destroy.

1
Bevaka tråden