
1、进入到Ubuntu桌面后,打开终端,快捷键为ctrl+alt+T。
2、然后创建一个文件夹来存放编写的脚本文件。
3、找到要打开的执行程序的路径,这里以火狐为例。在 /usr/bin下有火狐的执行程序。
4、输入 cd /usr/local/myShell 进入刚刚创建的文件夹。
5、如果你希望程序是在后台执行,可以在终端按 ctrl+C 退出程序,重新输入./openFireFox.sh &,这样就能在后台运行程序,终端也可以继续使用。
注意事项:
在很多企业网络中,为了追求速度和安全,Linux *** 作系统不仅仅是被网络运维人员当作服务器使用,Linux既可以当作服务器,又可以当作网络防火墙是Linux的 一大亮点。
一般的驱动程序是不允许应用程序调用的,只有当驱动程序留出这种供外界访问的接口才行,这种接口一般包括read,write,open,ioctl等接口,如果驱动中预留出了这些接口,就可以在应用程序中调用,比如fd=open(设备,参数)或者fd=ioctl(设备,参数),这样就会调用到这个设备驱动中的open或者ioctl函数。所以一般如果想再应用程序中调试某个驱动程序,常见的方法就是自己建立一个驱动模块,这个模块中预留出对外接口,比如ioctl。然后在你新建的这个驱动模块中完成ioctl函数,如下:int
device_ioctl(fd,argv)
{
/*
your
function
*/
}
static
struct
file_operations
device
=
{
.ioctl
=
device_ioctl
//预留外部接口
}
应用程序如下:
ioctl(device,argv);
上面这句就可以完成你的模块中ioctl中的功能。
驱动程序一般是通过模块注入内核,用字符驱动程序举个例子:1.编写字符驱动程序需要在内核中注册设备和中断程序,还有file_ops里面的open,read,release等函数
2.注册成功后在/proc/device文件里面可以看到你注册的设备名称和主设备号,/proc/interrupt文件中可以看到注册的中断
3.为设备创建文件节点,mknod /dev/char_dev_test c 主设备号 次设备号,于是就在/dev/里面生成一个char_dev_test 设备文件
4,应用程序通过文件 *** 作函数,比如open,read等 *** 作char_dev_test 文件
eg: FILE* p=open("/dev/char_dev_test","rb")
if(p==NULL) { printf("error,can't open dev file!")return -1}
char buf[1024]
read(p,buf,size_t)
//其中open是调用的注册进入内核的file_ops的open函数,read是调用的file_ops的read函数,里面一般有copy_to_user,将内核数据复制到用户空间,也就是复制到了buf中。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)