我有以下问题.我想在Fortran90中编写一个程序,我希望能够像这样调用:
./program.x < main.in > main.out
Run Code Online (Sandbox Code Playgroud)
除了"main.out"(我可以在调用程序时设置其名称),还必须编写辅助输出,我希望它们具有与"main.in"或"main.out"类似的名称(它们是实际上并没有被称为"主要"); 但是,当我使用时:
INQUIRE(UNIT=5,NAME=sInputName)
Run Code Online (Sandbox Code Playgroud)
sInputName的内容变为"Stdin"而不是文件名.有没有办法获取程序调用时链接到stdin/stdout的文件名?
给定进程的 PID,有没有办法找出该进程是否重定向了 stdin 或 stdout?
我有一个从标准输入读取数据的应用程序。为了方便起见,我通常使用从文件重定向的 stdin 来启动此应用程序,如下所示:
app < input1.txt
问题是,有时我启动应用程序并忘记我使用的输入文件是什么。有没有办法找出哪个文件已用于重定向标准输入?
使用ps -aux | grep PID允许我查看使用的命令行。但没有给我任何有关stdin或 的信息stdout。
我也尝试过查看top以及 in/proc/PID/*但没有找到任何东西。
我正在使用 CentOS 7,如果有帮助的话。