请教高手回答linux问题?悬赏1000分,请高回答

1.阐述进程控制的概念和方法,讨论与进程控制编程相关的系统调用使用方法。2.阐述shell的概念及其功能,并回答下述问题:(1)shell如何保护自身不因执行用户非法命令... 1.阐述进程控制的概念和方法,讨论与进程控制编程相关的系统调用使用方法。
2.阐述shell的概念及其功能,并回答下述问题:
(1)shell如何保护自身不因执行用户非法命令而遭破坏?
(2)shell如何实现输入/输出重定向?
(3)无名管道的实现方法与I/O重定向实现方法有何关系?
3.分析软中断信号处理的机制和原理,并讨论以下问题:
(1)比较几个与软中断信号处理相关的系统调用的功能及其应用方法:
sigaction(),signal(),kill(),raise()
(2)上述系统调用之间应如何配合使用?
4.分析linux系统的文件许可权限管理机制,并回答以下问题:
(1)进程的实际UID和有效UID的作用是什么?并举例说明。
(2)如何预防程序后门?例举出几种具体预防程序后门的方法。

以下设计与编程题要求完成:
(1)功能设计与需求分析
(2)程序设计方法说明
(3)程序功能实现流程图
(4)源程序列表
(5)程序执行结果
1.设计一个需要使用守护进程和软件中断信号处理技术的功能,并编程实现该功能。
2.设计并实现一个SUID程序,解决一个普通用户需要以某个可执行程序所有者身份运行该执行程序的问题。
3.任选下列一个编程题:
(1)设计一个任务处理功能,并用shell脚本语言编程实现该功能。
(2)试用Qt开发一个简单的GUI应用程序,其功能自行设计。

问题说明越详细,越标准附加分1000!!!!!
展开
 我来答
小黑乐翻天
2008-12-15
知道答主
回答量:44
采纳率:0%
帮助的人:0
展开全部
爱因斯坦有个成功的公式:A=X+Y+Z。A代表成功,X代表艰苦劳动,Y代表正确方法,Z代表少说废话。这个公式指明事业成功的三要素。对于学业来说,成功也有三要素:学习成功=心理素质十学习方法十智能素质

1、提高学习心理的素质

(1)学习的动机。学习需要动机。由于学生的个人需要而产生的学习内驱力很重要。有人有旺盛的求知欲,对学习有浓厚的兴趣,正是如此,如升学、就业、兴趣、爱好、荣誉、地位、求知欲、事业、前途等都是。我们要努力强化学习的动机,如树立远大理想;参加各种竞赛,挑战强者,激起学习欲望;看到自己学习成果而受鼓励,从而增强自信,经受挫折,要有不甘失败和屈辱的精神。

(2)学习的兴趣。浓厚的学习兴趣与效率有密切关系,可以从好奇心和求知欲中激发学习兴趣。如物理的实验,化学的变化等,容易引起人的好奇和求知;培养对各门功课的兴趣。往往是刻苦学习后,才发现知识的奥秘和用途,才提高学习成绩,所以一定要钻进“书海”去;把知识应用于实践,激发兴趣,用自己所学的知识分析解决出问题时,那种成功感易激发学习兴趣。

(3)学习的情感、意志和态度。将积极的情感同学习联系起来,防止消极情绪的滋生,可以促进学习。善于控制自己,是学习意志力培养的关键。控制和约束自己的行动,控制不需要的想法和情绪,可以使思想集中到学习上来,这点是尤为重要的。

2、掌握科学的学习方法。

(1)预习 在测览教材的总体内容后再细读,充分发挥自己的自学能力,理清哪些内容已经了解,哪些内容有疑问或是看不明白(即找重点、难点)分别标出并记下来。这样既提高了自学能力,又为听课“铺”平了道路,形成期待老师解析的心理定势;这种需求心理定势必将调动起我们的学习热情和高度集中的注意力。

(2)听课 听老师讲课是获取知识的最佳捷径,老师传授的是经过历史验证的真理;是老师长期学习和教学实践的精华。因为提高课堂效率是尤为重要的,那么课堂效率如何提高呢?

a、做好课前准备。精神上的准备十分重要。保持课内精力旺盛,头脑清醒,是学好知识的前提条件。

b、集中注意力。思想开小差会分心等一切都要靠理智强制自己专心听讲,靠意志来排除干扰。

c、认真观察、积极思考。不要做一个被动的信息接受者,要充分调动自己的积极性,紧跟老师讲课的思路,对老师的讲解积极思考。结论由学生自己的观察分析和推理而得,会比先听现成结论的学习效果好。

d、充分理解、掌握方法。

e、抓住老师讲课的重点。有的同学在听课,往往忽视老师讲课的开头和结尾,这是错误的,开头,往往寥寥数语.但却是全堂讲课的纲。只要抓住这个纲去听课,下面的内容才会眉目清楚。结尾的话虽也不多,但却是对一 节课精要的提炼和复习提示。同时还要注意老师反复强调的部分。

f、做好课堂笔记。笔记记忆法,是强化记忆的最佳方法之一。笔记,一份永恒的笔录,可以克服大脑记忆方面的限制。俗语说,好记忆不如烂笔头,因此为了充分理解和消化,必须记笔记。同时做笔记充分调动耳、眼、手、心等器官协同工作可帮助学习。

g、注意和老师的交流,目光交流,提问式交流,都可以促进学习。

(3)作业的方法 作业是提高思维能力,复习掌握知识,提高解题速度的途径。通过审题,分析问题,解决问题可以达到巩固检验自己的目的。当然在分析问题时,可有几条思路,如顺推法、逆推法、双向法、辅助法、排除法等,另外作业是千万不可COpy的,那样毫无意义。不理解的也要及时弄明白。

(4)复习的方法 德国教育学家第斯多惠说:“必须时常回复到所学的东西上而加以复习…… 牢固地记住所学会的东西,这比贪学新东西而又很快忘掉好得多。”因此往往考前的“临时抱佛脚”是不起作用的。复习在于平时,如何复习?

a、课后回忆,即在听课基础上把所学内容回忆一遍。

b、精读教材。对教材理解的越透,掌握得越牢,效率也就自然提高了。

c、整理笔记。

d、看参考书。这是补充课外知识的好方法。

e、补缺补漏,系统掌握知识结构。

f、循环复习。将甲复习完后复习乙,在复习完乙后对甲再进行一次复习,然后前进……这种循环复习利于记忆。

总的来说,科学的学习方法可用如下此歌谣来概括:课前要预习,听课易人脑。温故才知新,歧义见分晓。自学新内容,要把重点找。问题列出来,听课有目标。听课要专心,努力排干扰。扼要做笔记,动脑多思考。课后须复习,回忆第一条。看书要深思,消化细咀嚼。重视做作业,切勿照搬抄。编织知识网,简洁又明了。

3、发展智力,提高能力。

(1)发展观察力。观察是掌握知识,搞好学习的重要环节,也是成才的必要条件。聪明,即耳聪目明,接听力强,视力强,实指观察力强,掌握科学的观察方法,要a、明确的目的和周密的计划山、灵活应用各种观察法,如重复观察、比较观察、定期观察、与思考相结合的观察等。

(2)提高记忆能力。一切智慧的根源都在于记忆。记忆的原理是随时间变化的,在学习后的几天内遗忘的速度非常的快。但过了一星期后遗忘速度便趋缓了。因此记忆的关键便在最容易遗忘的那几天里巩固复习。选择最佳的时间段进行记忆,由于每个人的情况不同而无法作一个绝对的定论。但是掌握好时间安排是提高记忆能力永远不变的真理。为了同遗忘作斗争,正确安排复习时间便是选择最佳学习时间段了。

a、及时复习。把识记过的材料再拿来识记,使之巩固。其生理基础是对暂时神经联系不断强化,使它的痕迹进一步巩固。由于遗忘是先快后慢的,因此复习必须及时,要在遗忘尚未大规模开始前进行。

b、在时间和量上合理安排复习。实验证明:相对集中一段时间学习同一内容,记忆效果好。但也要适当分散,因为复习时间过于集中容易发生干扰;过于分散容易发生遗忘。

c、交替地分配时间学习也可以提高记忆。科学实验证明:用相等频率的电脉冲刺激脑神经细胞,反应敏捷,可是一旦反复刺激时间过长,神经细胞的反应便消失了。休息一段时间后,反应得以恢复。人的记忆也是如此。法国科学家居里夫人就曾说过:“我同时读几种书,因为专研究一种东西会使我的宝贵的头脑疲倦。”因此我们必须“分配交替”地进行记忆。

d、另外,采用各种记忆方式也有效果。如特征记忆;歌决记忆;形象记忆;比较记忆;联想记忆等。

(3)发展思维能力。

a、学好基础知识,练好基本功;

b、提高语言表达能力;

c、掌握思维的基本方法;

d、提高自己的思维品质(不断学习);

e、养成良好的思考习惯。

(4)发展想象能力。

a、学习丰富的知识和经验;

b、学习诗文作画;

c、开拓思路,研究假设;

d、学好立几发挥空间想象力;

e、参与创造活动。

(5)培养自学能力,用自己的头脑亲自获得知识。

同时在学习方法培养之时,要发挥创造才能。这是时代和未来的要求。发展创造性思维,鼓励多样性和个性,有利于学习的创新、科技与发展。

总之,优化心理素质,就是在高中学习中攻克难点的信心与勇气;掌握科学的学习方法就是运筹正确的战略技术;提高智力能力,就是改良攻关武器,三者是不可或缺的。
蓝海云天
2008-12-02 · TA获得超过2509个赞
知道小有建树答主
回答量:1873
采纳率:54%
帮助的人:498万
展开全部
查看软件xxx安装内容
dpkg -L xxx

查找软件
apt-cache search 正则表达式

查找文件属于哪个包
dpkg -S filename apt-file search filename

查询软件xxx依赖哪些包
apt-cache depends xxx

查询软件xxx被哪些包依赖
apt-cache rdepends xxx

增加一个光盘源
sudo apt-cdrom add

系统升级
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade

--------------------------------------------------------------------------------
编译时缺少h文件的自动处理
sudo auto-apt run ./configure

查看安装软件时下载包的临时存放目录 ls /var/cache/apt/archives

备份当前系统安装的所有包的列表 dpkg --get-selections | grep -v deinstall > ~/somefile

从上面备份的安装包的列表文件恢复所有包
dpkg --set-selections 清理旧版本的软件缓存
sudo apt-get autoclean

清理所有软件缓存
sudo apt-get clean

删除系统不再使用的孤立软件
sudo apt-get autoremove
----------------------------------------------------------------------
查看内核
uname -a

查看ubuntu版本
cat /etc/issue

查看内核加载的模块
lsmod

查看PCI设备
lspci

查看网卡状态
sudo ethtool eth0

查看USB 设备
lausb

查看cpu信息
vat /proc/cpuinfo

查看当前硬件信息
Lshw

--------------------------------------------------------------------------------

查看硬盘的分区
sudo fdisk -l

查看IDE硬盘信息
sudo hdparm -i /dev/hda

查看sata硬盘信息
sudo hdparm -I /dev/sda
或 sudo apt-get install blktool sudo blktool dev/sda id

查看硬盘胜于空间
df -hdf -H

查看目录占用空间
du -hs 目录名

U盘无法卸载
syncfuser -km /media/usbdisk

查看当前内存使用情况
free -l

--------------------------------------------------------------------------------
查看当前进程
ps -A

杀死一个进程
kill 进程号(就是 ps -A 中第一列数字 或者 killall 进程名)

强制杀死一个进程(上面的方法没有成功时)
kill -9 进程号 或者 killall -9 进程名

查看当前进程的实时状况
top

查看进程打开的文件
lsof -p

配置 ADSL
sudo pppoeconf

ADSL 手工拨号
sudo pon dsl-provider

激活 ADSL
sudo /etc/ppp/pppoe_on_boot

断开ADSL
sudo poff

查看拨号日志
sudo plog

根据IP查看网卡地址
atping IP地址

查看当前IP地址
sudo ifconfig eth0 |awk '/inet addr/{split($2,x,":");print x[2]}'

查看当前外网的IP地址
w3m -no-cookie -dump ip.loveroot.com |grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'

查看当前监听80端口的程序
lsof -i :80

--------------------------------------------------------------------------------
查看当前网卡的物理地址
sudo arp -a | awk '{print $4}'
sudo ifconfig eth0 | head -1 | awk '{print $5}'

立即让网络支持nat
sudo echo 1 >/proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -I POSTROUTING - j MASQUERADE

查看路由信息netstat -rn
sudo route -n

手工增加删除一条路由
sudo route add -net 192.168.0.0
netmask 255.255.255.0 gw 172.16.0.1
sudo route del -net 192.168.0.0
netmask 255.255.255.0 gw 172.16.0.1

修改网卡MAC地址的方法
sudo ifconfig eth0 down #关闭网卡
sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE #然后改地址
sudo ifconfig eth0 up #然后启动网卡

--------------------------------------------------------------------------------
添加一个服务sudo update-rc.d 服务名 defaults 99

删除一个服务
sudo update-rc.d 服务名 remove

临时重启一个服务
/etc/init.d/服务名 restart

临时关闭一个服务
/etc/init.d/服务名 stop

配置默认Java使用哪个sudo update-alternatives --config java

修改用户资料
sudo chfn userid

给apt设置代理
export
http_proxy=http://xx.xx.xx.xx:xxx

修改系统登录信息
sudo vim /etc/motd

转换文件名由GBK为UTF8
sudo apt-get install convmv
convmv -r -f cp936 -t utf8 --notest --nosmart *

快速查找某个文件
whereis filename
find 目录 -name 文件名

查看文件类型
file filename

显示xxx文件倒数6行的内容
tail -n 6 xxx
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
但凡有蝶画生蜜dB295
2008-12-03 · TA获得超过660个赞
知道小有建树答主
回答量:1632
采纳率:0%
帮助的人:1163万
展开全部
理论是没有用D,辍学算了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jerryzyz008
2008-12-07 · TA获得超过355个赞
知道小有建树答主
回答量:838
采纳率:0%
帮助的人:448万
展开全部
你去死吧!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
甜蜜7仔baby
2008-12-11
知道答主
回答量:62
采纳率:0%
帮助的人:0
展开全部
守护进程是一种后台运行彬接独立于所有终端控制之外的进程. 正是因为守护进程独立于所有的终端控制,因此,他无法向通常程序那样将信息直接输出到标准输出和标准错误输出.威力解决这个问题,linux提供了 syslog()函数.通过他,守护进程可以向系统的log文件写入信息.他在系统函数库syslog.h中的定义如下: void syslog(int priority,char *format,...) 在一个进程使用syslog()的时候,应该先用openlog()打开系统纪录. #include void openlog(const *ident,int options,int facility) 参数ident是一个字符窜,通常他是程序的名字. options可以是下面的值. LOG_CONS 如果不能写入LOG值.则直接将其发送给主控台. LOG_NDELAY 直接建立SYSLOGD进程而不是打开LOG文件 LOG_PERROR 将信息写入LOG同时也发送给标准错误输出. LOG_PID 在每个信息中加入PID值.用一个 下面用一个示例来讲解: #include #include #include #include #define MAXFD 64 main() int i if(fork()) exit(1) /*父进程退出,使子进程成为后台进程*/ setsid() /*建立一个新的进程组,在这个新的进程组中,子进程成为这个进程组的首进程.这样,该进程就独立于所有终端之外*/ signal(SIGHUP,SIG_IGN) /*忽略SIGHUP信号*/ if(fork()) exit(1) /*再次fork(),保证该进程不是进程组的首进程.*/ chdir("/") /*改变当前目录,使得进程不和任何文件系统关联*/ unmask(0) /*清除文件掩码,消除进程掩码对其所创建文件的影响*/ for(i=0 i close(i) /*关闭所有文件描述符*/ openlog(pname,LOG_PID,facility) /*打开记录*/

查看软件xxx安装内容
dpkg -L xxx

查找软件
apt-cache search 正则表达式

查找文件属于哪个包
dpkg -S filename apt-file search filename

查询软件xxx依赖哪些包
apt-cache depends xxx

查询软件xxx被哪些包依赖
apt-cache rdepends xxx

增加一个光盘源
sudo apt-cdrom add

系统升级
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade

--------------------------------------------------------------------------------
编译时缺少h文件的自动处理
sudo auto-apt run ./configure

查看安装软件时下载包的临时存放目录 ls /var/cache/apt/archives

备份当前系统安装的所有包的列表 dpkg --get-selections | grep -v deinstall > ~/somefile

从上面备份的安装包的列表文件恢复所有包
dpkg --set-selections 清理旧版本的软件缓存
sudo apt-get autoclean

清理所有软件缓存
sudo apt-get clean

删除系统不再使用的孤立软件
sudo apt-get autoremove
----------------------------------------------------------------------
查看内核
uname -a

查看ubuntu版本
cat /etc/issue

查看内核加载的模块
lsmod

查看PCI设备
lspci

查看网卡状态
sudo ethtool eth0

查看USB 设备
lausb

查看cpu信息
vat /proc/cpuinfo

查看当前硬件信息
Lshw

--------------------------------------------------------------------------------

查看硬盘的分区
sudo fdisk -l

查看IDE硬盘信息
sudo hdparm -i /dev/hda

查看sata硬盘信息
sudo hdparm -I /dev/sda
或 sudo apt-get install blktool sudo blktool dev/sda id

查看硬盘胜于空间
df -hdf -H

查看目录占用空间
du -hs 目录名

U盘无法卸载
syncfuser -km /media/usbdisk

查看当前内存使用情况
free -l

--------------------------------------------------------------------------------
查看当前进程
ps -A

杀死一个进程
kill 进程号(就是 ps -A 中第一列数字 或者 killall 进程名)

强制杀死一个进程(上面的方法没有成功时)
kill -9 进程号 或者 killall -9 进程名

查看当前进程的实时状况
top

查看进程打开的文件
lsof -p

配置 ADSL
sudo pppoeconf

ADSL 手工拨号
sudo pon dsl-provider

激活 ADSL
sudo /etc/ppp/pppoe_on_boot

断开ADSL
sudo poff

查看拨号日志
sudo plog

根据IP查看网卡地址
atping IP地址

查看当前IP地址
sudo ifconfig eth0 |awk '/inet addr/{split($2,x,":");print x[2]}'

查看当前外网的IP地址
w3m -no-cookie -dump ip.loveroot.com |grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'

查看当前监听80端口的程序
lsof -i :80

--------------------------------------------------------------------------------
查看当前网卡的物理地址
sudo arp -a | awk '{print $4}'
sudo ifconfig eth0 | head -1 | awk '{print $5}'

立即让网络支持nat
sudo echo 1 >/proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -I POSTROUTING - j MASQUERADE

查看路由信息netstat -rn
sudo route -n

手工增加删除一条路由
sudo route add -net 192.168.0.0
netmask 255.255.255.0 gw 172.16.0.1
sudo route del -net 192.168.0.0
netmask 255.255.255.0 gw 172.16.0.1

修改网卡MAC地址的方法
sudo ifconfig eth0 down #关闭网卡
sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE #然后改地址
sudo ifconfig eth0 up #然后启动网卡

--------------------------------------------------------------------------------
添加一个服务sudo update-rc.d 服务名 defaults 99

删除一个服务
sudo update-rc.d 服务名 remove

临时重启一个服务
/etc/init.d/服务名 restart

临时关闭一个服务
/etc/init.d/服务名 stop

配置默认Java使用哪个sudo update-alternatives --config java

修改用户资料
sudo chfn userid

给apt设置代理
export
http_proxy=http://xx.xx.xx.xx:xxx

修改系统登录信息
sudo vim /etc/motd

转换文件名由GBK为UTF8
sudo apt-get install convmv
convmv -r -f cp936 -t utf8 --notest --nosmart *

快速查找某个文件
whereis filename
find 目录 -name 文件名

查看文件类型
file filename

显示xxx文件倒数6行的内容
tail -n 6 xxx
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
敏锐又柔和的丁香8
2008-12-13
知道答主
回答量:16
采纳率:0%
帮助的人:0
展开全部
1.阐述进程控制的概念和方法,讨论与进程控制编程相关的系统调用使用方法。
2.阐述shell的概念及其功能,并回答下述问题:
(1)shell如何保护自身不因执行用户非法命令而遭破坏?
(2)shell如何实现输入/输出重定向?
(3)无名管道的实现方法与I/O重定向实现方法有何关系?
3.分析软中断信号处理的机制和原理,并讨论以下问题:
(1)比较几个与软中断信号处理相关的系统调用的功能及其应用方法:
sigaction(),signal(),kill(),raise()
(2)上述系统调用之间应如何配合使用?
4.分析linux系统的文件许可权限管理机制,并回答以下问题:
(1)进程的实际UID和有效UID的作用是什么?并举例说明。
(2)如何预防程序后门?例举出几种具体预防程序后门的方法。

以下设计与编程题要求完成:
(1)功能设计与需求分析
(2)程序设计方法说明
(3)程序功能实现流程图
(4)源程序列表
(5)程序执行结果
1.设计一个需要使用守护进程和软件中断信号处理技术的功能,并编程实现该功能。
2.设计并实现一个SUID程序,解决一个普通用户需要以某个可执行程序所有者身份运行该执行程序的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式