FpExecV function
Execute process.
Declaration
function FpExecV(const PathName: RawByteString; args: PPAnsiChar): cintDescription
FpExecV replaces the currently running program with the program, specified in
PathName.
It gives the program the options in
args.
This is a pointer to an array of pointers to null-terminated
strings. The last pointer in this array should be nil.
The current environment is passed to the program.
On success,
FpExecV does not return.Errors
Extended error information is returned by the FpGetErrno function:
- sys_eacces
- File is not a regular file, or has no execute permission. A component of the path has no search permission.
- sys_eperm
- The file system is mounted noexec.
- sys_e2big
- Argument list too big.
- sys_enoexec
- The magic number in the file is incorrect.
- sys_enoent
- The file does not exist.
- sys_enomem
- Not enough memory for kernel.
- sys_enotdir
- A component of the path is not a directory.
- sys_eloop
- The path contains a circular reference (via symlinks).
See also
Example: ex8
Program Example8;
{ Program to demonstrate the Execv function. }
Uses Unix, strings;
Const Arg0 : PChar = '/bin/ls';
Arg1 : Pchar = '-l';
Var PP : PPchar;
begin
GetMem (PP,3*SizeOf(Pchar));
PP[0]:=Arg0;
PP[1]:=Arg1;
PP[3]:=Nil;
{ Execute '/bin/ls -l', with current environment }
fpExecv ('/bin/ls',pp);
end.An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
