全部博文(297)
分类: LINUX
2007-09-13 11:39:12
3 程序开发篇
3001 linux 下调试core 文件(陈绪)
gdb
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 刷新
-r,lsof 会永远不断的执行,直到收到中断讯号
+r,lsof 会一直执行,直到没有档案被显示
例子:不断查看目前ftp 连接的情况:lsof -i tcp@ohaha.ks.edu.tw:ftp -r
lsof -s 列出打开文件的大小,如果没有大小,则留下空白
lsof -u username 以UID,列出打开的文件