我有一个运行linux命令的C++代码,我想模拟分段错误,即SIGSEGV,同时通过C++代码执行C++命令。所以我的代码是这样的
int main(){
string cmd = "some linux command that should throw seg fault";
execute_linux_comand(cmd); // Want to simulate segfault coming while executing this command
}
我应该放什么"cmd“,这样它才能将SIGSEGV发送到通过调用该函数创建的子进程?
以这个简单的例子为例:
public class Main
{
public static void main(String[] args) throws Exception
{
Runtime.getRuntime().exec("sleep 1000");
// This is just so that the JVM does not exit
Thread.sleep(1000 * 1000);
}
}
我正在使用openjdk6在Linux上运行这个程序。如果我试图向“睡眠”进程发送一个SIGQ
我的Perl脚本中有一个INT信号处理程序。当发送INT时,当Perl脚本处于系统调用过程中时,它将不会被执行。为什么?
考虑一下:
$ perl5.12/bin/perl -E "$(cat <<EOF
\$SIG{INT} = sub {say q(trapped INT); exit};
say q(sleeping ...);
system q(sleep 10000); # INT at this point is not caught by Perl.
EOF)"
sleeping ...
但是,如果我将系统调用替换为睡眠调用
我需要编写一个脚本来自动化捕获和发送数据的过程。
我有脚本mqtt.py(在我的Raspberry上),它经常在myFile.dat中捕获和存储数据。我使用rsync命令将文件从我的Raspberry Pi发送到我的pc。
我需要运行mqtt.py脚本开始捕获数据,让我们说,在1分钟后,进程停止,文件被发送到我的pc,然后捕获进程再次启动,1分钟后,同样的事情再次发生。
我试图编写脚本,但缺少了杀死进程mqtt.py的命令。
while(true) do
python mqtt.py #Capturing and storing data in myFile.dat
echo "Pr