CTRL+C不能终止程序运行

用freescale的ltib等工具生成了一个根文件系统,但是发现在按下 ctrl-c 不能终止程序。
写一个测试程序

#include <stdio.h>
#include <signal.h>
void sig_handle(int   sig) 

    if(SIGINT==sig) 
    { 
        printf("press again!/n");
    } 
}
 
int main(void)
{
    signal(SIGINT,   sig_handle);
    while(1)
        sleep(10);

    return 0;
}
测试程序没有打印出press again, 看来是内核没有把信号送到当前进程,为什么呢?
忽然发现在系统启动时,有一个信息提示:
/bin/sh: can't access tty; job control turned off
看来题与这个错误提示有关,打开/etc/inittab,其中有一行
::respawn:/bin/sh
把这行改成::respawn:/sbin/getty -L ttymxc0 115200 vt100后就ctrl+c可以工作了,但是登录时需要帐号,密码。
懒得去研究getty的自动登陆,看了busybox里的例子,发现加上终端就可以了
ttymxc0::respawn:/bin/sh
其中ttymxc0是串口用的设备节点名字,有的系统可能是tty1或ttyS1

 

你可能感兴趣的:(c,测试,Access,工具,终端,Signal)