Рассмотрим ситуацию ниже:
main.c
#include<stdio.h>
int main(){
fprintf(stdout, "STDOUT: I belong to stdout\n");
fprintf(stderr, "STDERR: I belong to stderr\n");
return 0;
}
test.launchd.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>test.launchd.plist</string>
<key>Program</key>
<string>/path/to/the/compiled/binary</string>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/tmp/err</string>
<key>StandardInPath</key>
<string>/tmp/in</string>
<key>StandardOutPath</key>
<string>/tmp/out</string>
<key>WorkingDirectory</key>
<string>/tmp</string>
</dict>
</plist>
Я получаю STDERR: I belong to stderr
в файле / tmp / err , но не STDOUT: I belong to stdout
в файле / tmp / out .Это известная ошибка или я что-то не так сделал?
Я использую macOS 10.14.4 beta 3.