Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1483008
  • 博文数量: 297
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3082
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 11:36
文章分类

全部博文(297)

文章存档

2011年(1)

2009年(45)

2008年(67)

2007年(184)

我的朋友

分类: LINUX

2007-09-13 11:39:12

3 程序开发篇

3001 linux 下调试core 文件(陈绪)

gdb

:出错产生core dump 的可执行程序。

: core dump 的文件名,缺省是“core”

3002 gcc abc.c 得到的a.out 不能运行(陈绪)

./a.out

3003 c++ 编译时为什么出错信息说cout 没定义(陈绪)

include 头文件完后加入 using namespace std;

3004 新编译生成的gcc ,使用的标准连接库都在/usr/local/lib 下了,但使用

的缺省的连接路径是 /usr/lib 怎样添加?(除了在每次编译时增加 -L

/usr/local/lib 以外)(sakulagi, hutuworm)

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

写到~/.bash_profile 里面。

增加一种简便办法:

/usr/local/lib 加入/etc/ld.so.conf,然后运行一次ldconfig

3005 RH9 GCC 的安装(一起走过的日子,hutuworm)

三种方法选一:

(1)利用CD rpm 安装

CD-1:compat-gcc-7.3-2.96.118.i386.rpm

CD-1:compat-gcc-c++-7.3-2.96.118.i386.rpm

CD-1:libgcc-3.2.2-5.i386.rpm

CD-2:compat-gcc-g77-7.3-2.96.118.i386.rpm

CD-2:compat-gcc-java-7.3-2.96.118.i386.rpm

CD-2:compat-gcc-objc-7.3-2.96.118.i386.rpm

CD-2:gcc-3.2.2-5.i386.rpm

CD-2:gcc-c++-3.2.2-5.i386.rpm

CD-2:gcc-g77-3.2.2-5.i386.rpm

CD-2:gcc-gnat-3.2.2-5.i386.rpm

CD-2:gcc-java-3.2.2-5.i386.rpm

CD-2:gcc-objc-3.2.2-5.i386.rpm

比如碰到系统提示:

warning : gcc-3.2.2-5.i386.rpm : V3 DSA signature :MOKEY key ID db42a60e

error : Failed dependencies :

binutils >=2.13.90.0.18-9 is needed by gcc-3.2.2-5

glibc-devel >=2.3.2-11.9 is needed by gcc-3.2.2-5...

Linux 一句话精彩问答/陈绪

53/62

就先安裝glibc-devel 包,依此类推

(2)更好的方法就是在X-window 下选“主菜单”──>“系统设置”──>“添加/删除应用程序”

──>“开发工具”中的gcc 并安装它

(3) up2date gcc 便可自动解决dependency 问题

3006 shell 脚本为何无法运行(GOD_Father)

第一,脚本权限要为可执行 #chmod +x test.sh

第二,脚本所在的目录在环境变量PATH 中,或者直接执行 #./test.sh

3007 查看某个文件被哪些进程在读写(魏琼)

lsof 文件名

3008 查看某个进程打开了哪些文件(魏琼)

lsof –c 进程名

lsof –p 进程号

3009 lsof 是什么意思(魏琼)

list open files

3010 lsof 用法小全(魏琼)

lsof abc.txt 显示开启文件abc.txt 的进程

lsof -i :22 知道22 端口现在运行什么程序

lsof -c nsd 显示nsd 进程现在打开的文件

lsof -g gid 显示归属gid 的进程情况

lsof +d /usr/local/ 显示目录下被进程开启的文件

lsof +D /usr/local/ 同上,但是会搜索目录下的目录,时间较长

lsof -d 4 显示使用fd 4 的进程

lsof -i [i] 用以显示符合条件的进程情况

语法: lsof -i[46] [protocol][@hostname|hostaddr][:service|port]

46 --> IPv4 or IPv6

protocol --> TCP or UDP

hostname --> Internet host name

hostaddr --> IPv4 位置

service --> /etc/service 中的 service name (可以不止一个)

port --> 端口号(可以不止一个)

例子: TCP:25 - TCP and port 25

@1.2.3.4 - Internet IPv4 host address 1.2.3.4

tcp@ohaha.ks.edu.tw:ftp - TCP protocol host:ohaha.ks.edu.tw service name:ftp

lsof -n 不将IP 转换为hostname,预设是不加上-n 参数

例子: lsof -i tcp@ohaha.ks.edu.tw:ftp -n

lsof -p 12 看进程号为12 的进程打开了哪些文件

Linux 一句话精彩问答/陈绪

lsof +|-r [t] 控制lsof 不断重复执行,缺省是15s 刷新

-rlsof 会永远不断的执行,直到收到中断讯号

+rlsof 会一直执行,直到没有档案被显示

例子:不断查看目前ftp 连接的情况:lsof -i tcp@ohaha.ks.edu.tw:ftp -r

lsof -s 列出打开文件的大小,如果没有大小,则留下空白

lsof -u username UID,列出打开的文件

阅读(1840) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~