SPAWNL(3)

πŸ“¦
version 2022.10.16 Β· 2 versions
, in opensuse-leap 16.0

πŸ’– SPAWNL(3) πŸ’–

okay bestie, this page is from SchilyΒ΄s LIBRARY FUNCTIONS and it's all about launching a command in a subsidiary process. group-chat summary: spawnl() is the β€œrun this with these args, then come back to me” girlie. 🫢


🌸 NAME 🌸

spawnl() β€” calls a command with specified arguments ✨

πŸ¦‹ SYNOPSIS πŸ¦‹

int spawnl(Sin,Sout,Serr,Command_Name,arg1...argn,NULL)
     FILE *Sin, *Sout, *Serr;
     char *Command_Name, *arg1...*argn;

πŸ”₯ DESCRIPTION πŸ”₯

okay so spawnl() causes the named command to be called in a subsidiary process with the given arguments. The last argument to spawnl() must be NULL to indicate the end of the list β€” that's the β€œok we're done with args” flag, periodt.

The streams Sin, Sout and Serr become stdin, stout, and stderr for the command. (Yes bestie, stout β€” that is literally what the page says, and I am not fixing the canon. πŸ“) The Command_Name may be an absolute or a relative pathname.

To locate the command, the working directory is searched first, then /bin. This is a property of fexecv(), which spawnl() calls. πŸ‘‘

When the command finishes, spawnl() returns to the caller. no cap.

πŸ’… RETURNS πŸ’…

Returns 0 when successful. Otherwise, returns a non-zero value which could be:

  • an error code from fork() or fexecl(). the argument to exit() in the Command_name.
  • 1, if stopped by a control C (^C).
  • 2, if killed by another process.
  • 4, if suspended by any fault, raise, control Y ^Y or by another process. (In this case, spawnl() kills the suspended process.)

πŸŽ€ NOTES πŸŽ€

spawnl() just calls spawnv() with the address and length of the argument list. πŸ’…


mwah πŸ’‹ β€” signing off with Joerg Schilling, 2022/09/09, SPAWNL(3), from SchilyΒ΄s LIBRARY FUNCTIONS. periodt. 🌈

πŸ“¦ where this page comes from