我收到了一個非常奇怪的錯誤,我無法環繞我的頭。使用System()運行腳本時發生Segementation故障
這裏是我的代碼,這是非常簡單的,只需要調用一個函數main中的呼叫系統()
string function1()
{
cout << "Running my script... " << endl;
system ("./myscript.sh");
cout << "Done Running my script... " << endl;
}
int main()
{
cout << "running function" << endl;
function1();
cout <<"done"<< endl;
return 0;
}
運行該腳本不執行任何操作(簡化問題),它只是呼應
#!/bin/bash
#UnMount Script
echo "HELLO THERE"
事情是,只要它退出Function(),它立即給出分段錯誤!
這是我的輸出:
running function
Running my script...
HELLO THERE
Segmentation fault (core dumped)
林無言以對,是什麼原因造成這個!?
我想提一提的是,如果我取消Function()並在main中運行system(「./myscript.sh」),它會順利運行而沒有分段錯誤 – 2014-09-20 10:30:31