• 每天进步一点点!

文章分类

推荐网站

常用手册

NAT方式连接VirtualBox里的Linux虚拟机【原创】

  1. 关闭VirtualBox里的Linux虚拟机
  2. 查看虚拟机中的操作系统名称
VBoxManage list vms

我在VirtualBox里安装了两个操作系统,所以输出:

 

"windows 2003" {4d93ca55-3a79-4e8c-9c86-83d5e593c233}

"CentOS 5.6" {ba7fc179-907e-4e70-92ac-8b9e5630012a}

 

  1. 我们要用SSH连接CentOS 5.6
VBoxManage modifyvm "CentOS 5.6" --natpf1 "host2guest-ssh,tcp,,2222,,22"
  1. 启动Linux(CentOS 5.6)
  2. 如果是静态IP,则要指定IP地址
VBoxManage modifyvm "CentOS 5.6" --natpf1 "host2guest-ssh,tcp,,2222,10.0.2.220,22"
  1. 用SSH链接CentOS
ssh -p 2222 root@localhost 
#或 
ssh -p 2222 root@127.0.0.1

 

  1. 如果SSH不能链接,查看是否有其他进程占了2222端口
netstat -ant | grep 2222

 

  1. 用http访问apche的80端口
VBoxManage modifyvm "CentOS 5.6" --natpf1 "guesthttp,tcp,,8080,10.0.2.15,80"

 

  1. 在浏览器输入127.0.0.1:8080

 

类别:工具配置 | 浏览(151) | 评论(0) | 阅读全文>>

ubutntu按错键super+p【原创】

ubutntu按错键super+p导致图像变扁,重启后不能进入系统,必须再重启一次,实在烦人,google后解决了。

 

首先安装dconf-tools

 

sudo apt-get install dconf-tools

 

 

启动dconf-editor

alt+F2输入dconf-editor回车

 

禁用super+p快捷键

org -> gnome -> settings-daemon -> plugins -> media-keys

将active后面的勾去掉

 

取消之前按下super+p的影响

org -> gnome -> settings-daemon -> plugins -> xrandr

将active后面的勾去掉

 

重启后问题已解决

类别:工具配置 | 浏览(133) | 评论(0) | 阅读全文>>

Python之os模块的进程管理介绍【转载】

    有两种方式来实现并发性,一种方式是让每个“任务"或“进程”在单独的内在空间中工作,每个都有自已的工作内存区域。不过,虽然进程可在单独的内存空间中执行,但除非这些进程在单独的处理器上执行,否则,实际并不是“同时”运行的。是由操作系统把处理器的时间片分配给一个进程,用完时间片后就需退出处理器等待另一个时间片的到来。另一种方式是在在程序中指定多个“执行线程”,让它们在相同的内存空间中工作。这称为“多线程处理”。线程比进程更有效,因为操作系统不必为每个线程创建单独的内存空间。

 

    新建进程用os.fork函数。但它只在POSIX系统上可用,在windows版的python中,os模块没有定义os.fork函数。相反,windows程序员用多线程编程技术来完成并发任务。

 

    os.fork函数创建进程的过程是这样的。程序每次执行时,操作系统都会创建一个新进程来运行程序指令。进程还可调用os.fork,要求操作系统新建一个进程。父进程是调用os.fork函数的进程。父进程所创建的进程叫子进程。每个进程都有一个不重复的进程ID号。或称pid,它对进程进行标识。子进程与父进程完全相同,子进程从父进程继承了多个值的拷贝,如全局变量和环境变量。两个进程的唯一区别是fork的返回值。子进程接收返回值0,而父进程接收子进程的pid作为返回值。一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进程被称为子进程(child process)。fork函数被调用一次但返回两次。两次返回的唯一区别是子进程中返回0值而父进程中返回子进程ID。 对于程序,只要判断fork的返回值,就知道自己是处于父进程还是子进程中。

类别:Python | 浏览(73) | 评论(0) | 阅读全文>>

python中apply函数的使用【原创】

 

Python 允许你实时地创建函数参数列表. 只要把所有的参数放入一个元组中,然后通过内建的 apply函数调用函数.

 

#!/usr/bin/python

def test(a, b) :
    print a, b

apply(test, ('hello', 'world'))
apply(test, (1, 2 + 3)) 

r =  apply(lambda x, y : x + y, (1, 2)) 
print r

apply(test, (), {'a' : 'avalue', 'b' : 'bvalue'})

#apply(test, {'a' : 'avalue', 'b' : 'bvalue'})
#apply(test, {'name' : 'fisher', 'sex' : 'm'})

 

被注释掉的两个不正确,参数必须是元祖,哪怕是空元祖,而且键值必须与函数的参数名称一致。如上例中,字典的键名称必须与test的参数名称一致。

类别:Python | 浏览(127) | 评论(0) | 阅读全文>>

python时间格式化【原创】

#!/usr/bin/env python

import time

#strtime to timestamp
strTime = "2013-11-05 14:51:43"
timestamp = time.mktime(time.strptime(strTime,'%Y-%m-%d %H:%M:%S'))

print timestamp

#timestamp to string time
print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(timestamp))

#get now timestamp
print time.time()

#fomate right now timestamp to string time
print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))

#output
#1383634303.0
#2013-11-05 14:51:43
#1383634321.24
#2013-11-05 14:52:01
类别:Python | 浏览(86) | 评论(0) | 阅读全文>>