linux
文章平均质量分 57
span76
这个作者很懒,什么都没留下…
展开
-
辨析 time gmtime ctime
time,gmtime,ctime的区别如下:1) time (&timep); 直接用 syscall从os取时间,注意是取UTC时间2) gmtime 可以把 time_t 转化为 year, month,day, hour, seconds, 直接转化,不考虑时区3) ctime 把时间转化为串,但时间转化被 local 时间了#includevoid m原创 2013-04-07 12:24:37 · 1808 阅读 · 0 评论 -
进一步解 apt-get 的几个命令
用 apt-get 也很久了,没多想它的实现,最近遇到 gstreamer 装不上的问题,才多看看了它apt-get 就是从网上下载包,并安装到本地手工下载 dpkg 包,而后 ”dpkg -i 包名“ 也可以但找包,检查dependency 太辛苦,这就是 apt-get 帮助做的事情从哪里下载, 官方url在/etc/apt/sources.list中,可以原创 2014-11-20 16:09:29 · 41144 阅读 · 0 评论 -
实践编译 Firefox Fennec
编译 Firefox的官方link在 https://wiki.mozilla.org/Mobile/Fennec/Android, 我只是记录下实践过程而已Linux 下的 Firefox 是用gcc/g++ 基于glibc编译的编译Android 下的 Firefox 需要使用 Android SDK 和Android NDKAndroid 的 SDK/NDK to原创 2014-11-27 17:38:55 · 2475 阅读 · 3 评论 -
ubuntu 升级 12.04 到14.04
运行命令sudo do-release-update如果遇到不能update,就强制安装sudo apt-get -f install安装后发现kernel没有变,安装kernelsudo apt-get install linux-generic遇到的问题1) source.list 中错误源,要打开 /etc/apt/source原创 2015-01-08 16:38:02 · 5630 阅读 · 0 评论 -
ubuntu 运行 usb camera
用软件Cheese1) 插上 usb camera2) 软件中心 找 cheese 运行ref:http://www.ehow.com/how_5610857_mount-usb-camera-ubuntu.html通过 ffmpeg 捕获原来插了 usb camera 后,多了一个设备 /dev/video0 v4l2-ctl --list-devi原创 2015-04-27 15:24:45 · 6908 阅读 · 0 评论 -
Linux 下 USB-serial 端口的使用
把USB-serial 插上会看到下面的消息 dmesg | grep tty...[167848.524563] usb 1-1.3: ch341-uart converter now attached to ttyUSB0用下面命令设置好 波特率, 就可以通信了stty -F /dev/ttyUSB0 -raw ispeed 9600 ospeed原创 2015-04-29 18:17:26 · 3322 阅读 · 0 评论 -
SDL 在 MingGW 中不支持 joystick
实验 SDL 了一个小程序,在linux 正常而后在 MingGW 编译通过gcc -I/local/include -L/local/lib -w -Wl,-subsystem,windows -lmingw32 -lSDL2main -lSDL2 得到 a.exe, 但运行卡住了,没有任何反应 (看来SDL 在MingGW主要能支持窗口显示)// http://d原创 2015-06-29 14:42:37 · 977 阅读 · 0 评论 -
inotify的用法实践
inotify可用来监听句柄,从而知道文件是否被更改,删除,等监控文件被修改和删除,重新读取数据的代码如下.值得注意的要点是,ubunutu中很多修改的文件策略都是删除,再重建(比如用vi编辑一个文件)当文件删除/再重建后,将收到 IN_DELETE_SELF 消息和 IN_IGNORED 消息, 而后 watch_id 将被从 add_watch中移出,以后再收不到消原创 2016-04-05 14:23:29 · 1914 阅读 · 0 评论 -
编译Linux Kernel
最近编译 Linux Kernel 被 header 所在的文件骗了,使用命令如下cd /usr/src/linux-headers-3.11.0-24-generic/make menuconfigmakemake menuconfig都还是正常make的时候就缺很多文件,headers 文件夹下面缺很多 src文件后来经过同事指点,使用了下面的步骤,成功了sud原创 2014-07-09 15:06:17 · 2427 阅读 · 0 评论 -
截取 SIGSEGV 将不会产生 core dump 文件
最近做了个实验验证 signal 和 core dump 的关系,用的是glibc1) 不截取 SIGSEGV , 系统会产生 core dump 文件 (注意:不要忘了设置 ulimit -c unlimited)2) 截取 SIGSEGV, 并调用 exit(), 就不会产生 core dump 文件 (如下面代码所示) 不调用 exit(), 就会不停地调用 cras原创 2013-09-23 13:34:54 · 7185 阅读 · 0 评论 -
sed 技巧一例:特定位置插入
通过一例子熟悉 sed 的运用下面命令是在修改 ~/fs/install/nzos.conf 文件, 并在 env 第一次出现的地方再添加一行 env LXC_EXTRA_PORT=5556sed -i '0,/^env/s/^env/env LXC_EXTRA_PORT=5556\\nenv/' ~/fs/install/nzos.conf使用 -i 表示 edit原创 2013-09-04 12:37:49 · 12558 阅读 · 0 评论 -
xvfb 初步探究
有时候我们不关注程序是否有界面(比如自动化测试),只要程序在运行就可以了很感谢 xvfb 这个工具给我们提供了相关的功能比如在没有 X server 的机器上运行 gedit, 可以用下面的命令xvfb-run --auto-servernum --server-args="-screen 0 1280x760x24" geditxvfb 这个工具相当于一个wrapp原创 2013-09-09 12:31:39 · 29277 阅读 · 2 评论 -
./ . 和#!/bin/bash 辨析Linux如何选择当前执行脚本的shell
最近遇到一个有趣的问题,让我搞清楚Linux如何选择当前执行脚本的shell执行cts的的 media stress test 需要安装 android-cts-media-1.0.zip把这个文件解开,发现有一个 copy_media.sh 脚本,就是用 adb push 向 android devices 复制文件,很简单的一个脚本,执行起来却有错$./copy_media原创 2013-09-10 15:51:28 · 3071 阅读 · 1 评论 -
zip和tar如何处理符号链接(symbol link)
通过一个小实验验证 zip和tar如何处理 符号链接建立一个目录如下payne@payne-desktop:~/ziptest/1$ ls -ltotal 4drwxr-xr-x 2 payne payne 4096 2013-09-05 17:07 alrwxrwxrwx 1 payne payne 7 2013-09-05 17:07 a.link -> a/a.tx原创 2013-09-05 18:06:22 · 24159 阅读 · 0 评论 -
如何干掉一组进程,kill group processes
当一个进程组 group leader 死掉后, 遗留下若干进程,要一个一个手工 kill 掉它们是比较讨厌的下面这个函数可以帮你达到目的killProcessGroup() { name=$1 echo "kill process group with member '$name' ..." pgids=$(ps -e -o pgid,cmd | grep原创 2013-09-13 14:55:09 · 6511 阅读 · 0 评论 -
shell 的字符串操作
killProcessGroup() { name=$1 echo "kill process group with member '$name' ..." # Android sets only the trailing 15 characters of the process name, # see libcutils/process_name.原创 2013-09-14 11:18:01 · 937 阅读 · 0 评论 -
用python实现远程复制 (scp + expect )
scp 功能很强大,但需要人工输入 password, 当然可以通过把 公钥保存在远程主机的 ~/.ssh 目录中,而后就不用输入password,但这需要配置.用 sshpass 可能在命令输入 password, 但 需要用 “sudo apt-get install sshpass” 安装如果不想用上面两种方法,可以用 expect 编写脚本可以帮助我们自动交互虽然 pyth原创 2013-09-11 18:11:03 · 18183 阅读 · 1 评论 -
so库的static 变量深入了解
理解 so 的机制 进程内存空间分成代码段(code),数据段(data),堆(heap), 栈(stack) static 是在保存数据段(data segement) 中,并且有初始值 编译程序在在 link 的时候,为 static 分配地址到数据段(此地址是进程的内存空间,并非物理内存),当so被 load 的时候,应该是直接把so 用物理内存映射的放原创 2013-10-17 17:42:26 · 6478 阅读 · 0 评论 -
android signal 处理总结
1)Zygote 监控 子进程的退出情况jellybean/dalvik/vm/native/dalvik_system_Zygote.cpp#151 151 sa.sa_handler = sigchldHandler; 152 153 err = sigaction (SIGCHLD, &sa, NULL);原创 2013-11-22 11:17:50 · 10519 阅读 · 0 评论 -
不要相信 errno 可靠
最近发现第3方提供的 API, 引起内存不断增大,代码如下: int retVal = kill(pSharedData->regBuffPids[i],0); if (retVal == 0) { LOGE("Signal Sent Successfully....");原创 2013-11-29 15:31:30 · 975 阅读 · 0 评论 -
suid 实验
简单验证看 /usr/bin/passwd 有 suid-rwsr-xr-x 1 root root 47032 /usr/bin/passwd用 payne运行它,发现用户是 root payne@payne-MS-7678:~/try/uid$ passwdroot 2621 0.0 0.0 64636 1596 pts/12 S+ 20:0原创 2016-06-24 20:54:50 · 806 阅读 · 0 评论