SIGXCPU

SIGXCPU

Infobox Computing signal
description = CPU time limit exceeded (4.2BSD)
action = Abnormal termination of the process
On POSIX-compliant platforms, SIGXCPU is a signal, which is delivered to and can be caught by computer programs when they have used up the CPU for a duration that exceeds a certain predetermined user-settable value.Citation
title = getrlimit, setrlimit - control maximum resource consumption,POSIX system call specification
publisher = The Open Group
url = http://www.opengroup.org/onlinepubs/009695399/functions/getrlimit.html
format = html
date = 2001-2004
accessdate = 2008-09-10
] Citation
title = signal.h, POSIX header file specification
publisher = The Open Group
url = http://www.opengroup.org/onlinepubs/009695399/basedefs/signal.h.html
format = html
date = 2001-2004
accessdate = 2008-09-10
] In source code, SIGXCPU is a symbolic constant defined in the header file signal.h. Symbolic signal names are used because signal numbers can vary across platforms.

Etymology

"SIG" is a common prefix for signal names. "XCPU" is an abbreviation for "exceeded CPU time".

Usage

SIGXCPU is sent when the total time spent by the processor executing the process's instructions exceeds the allowed value, as determined by the user through the [http://www.opengroup.org/onlinepubs/009695399/functions/getrlimit.html setrlimit] or [http://www.opengroup.org/onlinepubs/009695399/functions/fcntl.html fcntl] system calls (which can be invoked directly or through a shell builtin command). This is not the same as total elapsed time, as some of the time since the process started will have been spent waiting on I/O and servicing other processes.

By default, SIGXCPU will result in program termination. And the POSIX standard further states that if this behavior is changed, namely, "if the process is catching or ignoring SIGXCPU, or all threads belonging to that process are blocking SIGXCPU, [then] the behavior is unspecified" by POSIX. Nevertheless, individual operating systems, like Linux, usually define the act of catching or ignoring SIGXCPU as legitimate. Under this setting, the usage model of this signal is typically such that its arrival indicates to the receiving process that the process has reached a CPU consumption "soft limit", soon be followed by a system-wide "hard limit": When the latter is reached, the process will be delivered a SIGKILL signal that cannot be ignored or caught, and would therefore immediately terminate the process.

Thus, the arrival of a SIGXCPU signal provides the receiving process a chance to quickly save any intermediate results and to exit gracefully, before it is terminated by the operating system for good. This kind of a mechanism is especially important in supercomputers, where parallel programs run for long periods of time and use up immense computational resources. And indeed, supercomputer resource managers, like the IBM LoadLeveler, make explicit use of SIGXCPU exactly for this purpose.Citation
title = IBM LoadLeveler for AIX 5L, "Using and Administrating" (Version 3, Release 2)
publisher = IBM
url = http://www.sdsc.edu/us/resources/datastar/docs/ll_usg_and_admin_v3r2.pdf
format = pdf
date = 2003
page = 344
accessdate = 2008-09-10
]

Other uses are possible. For example, on some operating systems, the Boehm garbage collector uses SIGXCPU and SIGPWR to synchronize cross-thread garbage collection.Fact|date=September 2008

References


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • SIGXCPU — Описание: Превышение лимита процессорного времени (4.2BSD) По умолчанию: завершение процесса коды SA SIGINFO (не имеет специфических кодов) В POSIX системах, SIGXCPU сигнал, посылаемый компьютерной программе, превышающей лимит процессорного… …   Википедия

  • SIGXCPU — Signal bei Überschreiten einer Maximalen CPU Benutzungszeit eines Prozesses unter BSD UNIX …   Acronyms

  • SIGXCPU — Signal bei Überschreiten einer Maximalen CPU Benutzungszeit eines Prozesses unter BSD UNIX …   Acronyms von A bis Z

  • SIGPWR — (не POSIX) Описание: Авария питания (System V) По умолчанию: завершение процесса коды SA SIGINFO (не имеет специфических кодов) В некоторых Unix системах, SIGPWR  сигнал, посылается процессам при аварии сетевого питания. SIGPWR … …   Википедия

  • Signal (computing) — A signal is a limited form of inter process communication used in Unix, Unix like, and other POSIX compliant operating systems. Essentially it is an asynchronous notification sent to a process in order to notify it of an event that occurred. When …   Wikipedia

  • SIGPWR — Infobox Computing signal name = SIGPWR (non POSIX) description = Power failure (System V) action = Abnormal termination of the process (some systems, including Linuxman|7|signal|die.net|List of available signals] ), ignored (other systems)On some …   Wikipedia

  • SIGQUIT — Ein Signal ist eine Systemnachricht an einen laufenden Prozess. Signale sind eine primitive Form von Interprozesskommunikation. Die meisten Signale bewirken auch eine Aktion – meist das Beenden des Prozesses. Andere hingegen dienen lediglich der… …   Deutsch Wikipedia

  • SIGTSTP — Ein Signal ist eine Systemnachricht an einen laufenden Prozess. Signale sind eine primitive Form von Interprozesskommunikation. Die meisten Signale bewirken auch eine Aktion – meist das Beenden des Prozesses. Andere hingegen dienen lediglich der… …   Deutsch Wikipedia

  • Signal (Computer) — Ein Signal ist eine Systemnachricht an einen laufenden Prozess. Signale sind eine primitive Form von Interprozesskommunikation. Die meisten Signale bewirken auch eine Aktion – meist das Beenden des Prozesses. Andere hingegen dienen lediglich der… …   Deutsch Wikipedia

  • Kill (Unix) — En informatique, kill est une commande de certains systèmes d exploitation (particulièrement Unix et ses dérivés) utilisée pour demander l arrêt d un processus en cours d exécution. Sommaire 1 Implémentations 2 Exemples 3 Voir aus …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”