9.100 EXECUTE_COMMAND_LINE — Execute a shell command
- Description:
-
EXECUTE_COMMAND_LINEruns a shell command, synchronously or asynchronously.The
COMMANDargument is passed to the shell and executed, using the C library’ssystemcall. (The shell isshon Unix systems, andcmd.exeon Windows.) IfWAITis present and has the value false, the execution of the command is asynchronous if the system supports it; otherwise, the command is executed synchronously.The three last arguments allow the user to get status information. After synchronous execution,
EXITSTATcontains the integer exit code of the command, as returned bysystem.CMDSTATis set to zero if the command line was executed (whatever its exit status was).CMDMSGis assigned an error message if an error has occurred.Note that the
systemfunction need not be thread-safe. It is the responsibility of the user to ensure thatsystemis not called concurrently. - Standard:
-
Fortran 2008 and later
- Class:
-
Subroutine
- Syntax:
-
CALL EXECUTE_COMMAND_LINE(COMMAND [, WAIT, EXITSTAT, CMDSTAT, CMDMSG ]) - Arguments:
-
COMMAND Shall be a default CHARACTERscalar.WAIT (Optional) Shall be a default LOGICALscalar.EXITSTAT (Optional) Shall be an INTEGERof the default kind.CMDSTAT (Optional) Shall be an INTEGERof the default kind.CMDMSG (Optional) Shall be an CHARACTERscalar of the default kind. - Example:
-
program test_exec integer :: i call execute_command_line ("external_prog.exe", exitstat=i) print *, "Exit status of external_prog.exe was ", i call execute_command_line ("reindex_files.exe", wait=.false.) print *, "Now reindexing files in the background" end program test_exec - Note:
-
Because this intrinsic is implemented in terms of the
systemfunction call, its behavior with respect to signaling is processor dependent. In particular, on POSIX-compliant systems, the SIGINT and SIGQUIT signals will be ignored, and the SIGCHLD will be blocked. As such, if the parent process is terminated, the child process might not be terminated alongside. - See also:
Next: EXIT, Previous: EVENT_QUERY, Up: Intrinsic Procedures [Contents][Index]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-8.4.0/gfortran/EXECUTE_005fCOMMAND_005fLINE.html