QSIG(1POSIX)

πŸ¦‹ QSIG(1POSIX) πŸ¦‹

okay bestie, welcome to the POSIX Programmer's Manual β€” this is the QSIG page, and she's a whole vibe. sit down, get a snack, we're doing this together πŸ’–


πŸ’… PROLOG πŸ’…

so like, real talk first: this manual page is part of the POSIX Programmer's Manual. the Linux implementation of this interface may differ β€” so if you're on Linux, go consult the corresponding Linux manual page for the deets on Linux behavior. orrrr the interface might not even be implemented on Linux at all. it's giving "check before you ship" πŸ™ˆ


✨ NAME ✨

qsig β€” signal batch jobs. that's it, that's the girl. she sends signals to batch jobs and she's iconic for it πŸŽ€


🌸 SYNOPSIS 🌸

qsig [-s signal] job_identifier...

πŸ‘‘ DESCRIPTION πŸ‘‘

so. to signal a batch job means to send a signal to the session leader of that batch job. periodt. and how do we do that? we send a request to the batch server that manages the batch job. the qsig utility is a user-accessible batch client that requests the signaling of a batch job. she's the messenger, and the message is a signal πŸ’Œ

qsig shall signal those batch jobs for which a job_identifier is presented to the utility. and she shall not signal any batch jobs whose job_identifiers are not presented to her. no sneak-signaling. we don't do that here βœ‹

she signals batch jobs in the order in which the corresponding job_identifiers are presented to the utility. order matters, bestie. and if qsig fails to process a job_identifier successfully? she doesn't spiral, she doesn't give up β€” she proceeds to process the remaining job_identifiers, if any. resilient queen behavior πŸ’…

qsig signals batch jobs by sending a Signal Job Request to the batch server that manages the batch job.

and for each successfully processed job_identifier, the qsig utility shall have received a completion reply to each Signal Job Request sent to a batch server at the time the utility exits. so like, she doesn't dip until the receipts are in 🧾✨


πŸŽ€ OPTIONS πŸŽ€

the qsig utility shall conform to the Base Definitions volume of POSIX.1‐2017, Section 12.2, Utility Syntax Guidelines. yes ma'am, standards are the blueprint.

the following option shall be supported by the implementation:

  • -s signal β€” define the signal to be sent to the batch job.

okay so here's the tea on -s β˜• the qsig utility shall accept a signal option-argument that is either a symbolic signal name or an unsigned integer signal number (see the POSIX.1‐1990 standard, Section 3.3.1.1). and she shall accept signal names for which the SIG prefix has been omitted β€” so you can be casual with her, she gets it 🫢

if the signal option-argument is a signal name, the qsig utility shall send that name.

if the signal option-argument is a number, the qsig utility shall send the signal value represented by the number.

and if the -s option is not presented to the qsig utility? she shall send the signal SIGTERM to each signaled batch job. that's the default, no cap πŸ”₯


πŸ¦‹ OPERANDS πŸ¦‹

the qsig utility shall accept one or more operands that conform to the syntax for a batch job_identifier (see Section 3.3.1, Batch Job Identifier). one or more, bestie β€” she's not here for zero πŸ‘‘


⭐ STDIN ⭐

Not used. she's not reading your stdin, she's busy πŸ’…


🌈 INPUT FILES 🌈

None. no files, just vibes.


πŸ’œ ENVIRONMENT VARIABLES πŸ’œ

the following environment variables shall affect the execution of qsig:

  • LANG β€” provide a default value for the internationalization variables that are unset or null. (see the Base Definitions volume of POSIX.1‐2017, Section 8.2, Internationalization Variables for the precedence of internationalization variables used to determine the values of locale categories.)
  • LC_ALL β€” if set to a non-empty string value, override the values of all the other internationalization variables. she's the main character, she overrides everyone 🌟
  • LC_CTYPE β€” determine the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multi-byte characters in arguments).
  • LC_MESSAGES β€” determine the locale that should be used to affect the format and contents of diagnostic messages written to standard error.
  • LOGNAME β€” determine the login name of the user.

🫢 ASYNCHRONOUS EVENTS 🫢

Default. nothing extra, nothing weird, just default ✨


🌸 STDOUT 🌸

an implementation of the qsig utility may write informative messages to standard output. she might chat a little, and honestly? let her πŸ’¬


πŸŽ€ STDERR πŸŽ€

the standard error shall be used only for diagnostic messages. only. diagnostics. nothing else. boundaries, bestie πŸ’…


🧚 OUTPUT FILES 🧚

None. no files written, we stay clean ✨


πŸ’– EXTENDED DESCRIPTION πŸ’–

None. there is no extended description. that section is simply not serving today πŸ™ˆ


πŸ”₯ EXIT STATUS πŸ”₯

the following exit values shall be returned:

  • 0 β€” successful completion. ate. πŸ’…
  • >0 β€” an error occurred. 😭

πŸ’€ CONSEQUENCES OF ERRORS πŸ’€

in addition to the default behavior, the qsig utility shall not be required to write a diagnostic message to standard error when the error reply received from a batch server indicates that the batch job_identifier does not exist on the server. so like, sometimes she just won't say anything about it, and that's allowed 😢

whether or not the qsig utility waits to output the diagnostic message while attempting to locate the batch job on other servers is implementation-defined. iykyk

the following sections are informative. so like, read them for the lore, not the law πŸ“–

⭐ APPLICATION USAGE ⭐

None. nothing here. moving on πŸšΆβ™€οΈ


πŸ¦‹ EXAMPLES πŸ¦‹

None. no examples, she's mysterious like that πŸŒ™


πŸ‘‘ RATIONALE πŸ‘‘

the qsig utility allows users to signal batch jobs. that's the whole point, that's the mission 🎯

a user may be unable to signal a batch job with the kill utility of the operating system for a number of reasons. first, the process ID of the batch job may be unknown to the user. second, the processes of the batch job may be on a remote node. but by virtue of communication between batch nodes, the qsig utility can arrange for the signaling of a process. networking, but make it personal 🌐

because a batch job that is not running cannot be signaled, and because the signal may not terminate the batch job, the qsig utility is not a substitute for the qdel utility. read that again. she is NOT qdel. they are different girls. do not conflate them 🚫

the options of the qsig utility allow the user to specify the signal that is to be sent to the batch job.

the -s option allows users to specify a signal by name or by number, and thus override the default signal. the POSIX.1‐1990 standard defines signals by both name and number.

the qsig utility is a new utility, vis-a-vis existing practice; it has been defined in this volume of POSIX.1‐2017 in response to user-perceived shortcomings in existing practice. so she's the solution to a problem people kept complaining about, and honestly? she delivered πŸ’


🌈 FUTURE DIRECTIONS 🌈

the qsig utility may be removed in a future version.

bestie. she might not make it. treasure her while you can πŸ˜­πŸ’”


πŸŽ€ SEE ALSO πŸŽ€

  • Chapter 3, Batch Environment Services
  • kill
  • qdel
  • the Base Definitions volume of POSIX.1‐2017, Chapter 8, Environment Variables, Section 12.2, Utility Syntax Guidelines

Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html .

any typographical or formatting errors that appear in this page are most likely to have been introduced during the conversion of the source files to man page format. to report such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html .


k that's the whole page, you made it, I'm so proud of you πŸ₯Ή

this lil masterpiece came from the IEEE/The Open Group, dated 2017, and it's filed under QSIG(1POSIX). go signal something responsibly, bestie πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…πŸ«ΆπŸ‘‘πŸŒˆ

πŸ“¦ where this page comes from