###前提・実現したいこと
fork
,execv
を使って自作シェルを作成していて、色々コマンドを入れて動きを確認しています。
そこでexecv
の引数に/usr/bin/cal
を入れてUNIXのcal
コマンドを試した所何も表示されないのですが、これはなぜなのでしょうか?
ls
,pwd
など他のターミナルに出力するコマンドは実行し動作確認済です。
###発生している問題・エラーメッセージ
cal
コマンドを入れても何も表示されない
###該当のソースコード
C
1#include <stdio.h> 2#include <unistd.h> 3#include <string.h> 4#include <sys/wait.h> 5 6int main(int argc, char *argv[]){ 7 char *const str[] = {"/usr/bin/cal"}; 8 int pid; 9 int status; 10 11 pid = fork(); 12 13 if(pid==0){ 14 printf("executing cal in child\n"); 15 execv("/bin/cal", str); 16 } 17 else { 18 wait(&status); 19 } 20 21 return 0; 22}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/18 01:42