%CD%B5%C5%C4%D7%D4%C5%C4%20%C9%D9%B8%BE%CA%EC%C5%AE%20%D2%F9%C6%DE%BD%BB%BB%BB +ukchce9c 0

Discover Hotgirlsfilm K 0 Ca 1 Hot Girls Film 16hot 的博客

Discover Hotgirlsfilm K 0 Ca 1 Hot Girls Film

Discover search Hotgirlsfilm search Hotgirlsfilm Discover Discover searchsearch Discover Hotgirlsfilm Hotgirlsfilm 1 Hotgirlsfilm Discover og1 Dsearchsovsearchr RHJ-+%D2%C1%B6%AB%A4%B5%A4%E6%A4%A4@%CC%EC%CA%B9%C3%C0%C5%AE+%B3%AC%BC%B6%C4%DA%C9%E4Rde+Hot+Jamisearchm Hotgirlsfilm Hotgirlsfilm e Hotgirlsfilm r Discover h Discover easearchc Discover s Discover a Hotgirlsfilm c Discover 1 Hotgirlsfilm Discover Hotgirlsfilm searchsearch Discover search Hotgirlsfilm 15% Hotgirlsfilm search Hotgirlsfilm search Discover search Hotgirlsfilm search Hotgirlsfilm search Hotgirlsfilm search Discover Hotgirlsfilm Hotgirlsfilm Discover Hotgirlsfilm Hotgirlsfilm Discover search Discover searchsearchsearch1 Discover Discover Hotgirlsfilm search Hotgirlsfilm Discover Hotgirlsfilm Discover Hotgirlsfilm Discover Hotgirlsfilm Discover Hotgirlsfilm search Discover Hotgirlsfilm Discover Hotgirlsfilm Discover Hotgirlsfilm Hotgirlsfilm Tokyo%20Hot%20n0429%B8%A3%C9%BD%C9%B3%BC%CD Discover 权 Hotgirlsfilm search Hotgirlsfilm Hotgirlsfilm search Discover Hotgirlsfilm searchsearchsearch

上述基本涵盖了各种评估方式了。根据项目不同,创业者可以与投资人磋商,不宜一概而论。

分类: 转载 标签:

信号处理及system返回结果的问题

2012年4月25日 16hot 没有评论

在一个应用程序里用到system函数来执行系统命令,开始时死活也获取不了正确的返回码。几经调试后发现是设置了信号处理,将信号处理部分注释掉,就可以正常获取到system的返回码了。

不过,这时又遇到了新问题。fork子进程执行后,会变成defunct状态(僵尸进程)。于是在程序里面加入了wait,等待子进程结束后收尸。问题看起来是解决了,能获取到system返回状态,又解决了僵尸进程。

但是,又有新问题来了。由于使用wait,它会无条件的等待子进程结束后,才让父进程继续工作。因为它是堵塞执行的。
也因此而导致无法多个子进程并发工作。只有第一个子进程结束后,才会执行第二个子进程。

后来的解决办法,是采用两次fork来解决。先fork一个子进程,我们叫它子进程 A吧。在子进程A里再fork多个子进程来执行具体任务,当然是并发的。用那个wait来接收子进程A结束状态,避免僵尸进程出现。至于子进程A fork出来的子进程,由于子进程A结束了,这些子进程就变成了无主进程,就被init接管,执行结束了,就退出被内核回收,也就没有僵尸进程了。

通过这个应用程序,理解了屏蔽子进程信号,会导致system返回值异常;如果不wait(还有其他相关的wait函数),子进程就会变成僵尸进程。

分类: BSD/linux, C/C++ 标签: ,

8 个实用的 Linux netcat 命令示例

2012年4月24日 16hot 没有评论

Netcat 或者叫 nc 是 Linux 下的一个用于调试和检查网络工具包。可用于创建 TCP/IP 连接,最大的用途就是用来处理 TCP/UDP 套接字。

这里我们将通过一些实例来学习 netcat 命令。

1. 在服务器-客户端架构上使用 Netcat

netcat 工具可运行于服务器模式,侦听指定端口

1
$ nc -l 2389
然后你可以使用客户端模式来连接到 2389 端口:

1
$ nc localhost 2389
现在如果你输入一些文本,它将被发送到服务器端:

1
$ nc localhost 2389
2
HI, oschina
在服务器的终端窗口将会显示下面内容:

1
$ nc -l 2389
2
HI, oschina

2. 使用 Netcat 来传输文件

netcat 工具还可用来传输文件,在客户端,假设我们有一个 testfile 文件:

1
$ cat testfile
2
hello oschina
而在服务器端有一个空文件名为 test

然后我们使用如下命令来启用服务器端:

1
$ nc -l 2389 > test
紧接着运行客户端:

1
cat testfile | nc localhost 2389
然后你停止服务器端,你可以查看 test 内容就是刚才客户端传过来的 testfile 文件的内容:

1
$ cat test
2
hello oschina

3. Netcat 支持超时控制

多数情况我们不希望连接一直保持,那么我们可以使用 -w 参数来指定连接的空闲超时时间,该参数紧接一个数值,代表秒数,如果连接超过指定时间则连接会被终止。

服务器:

1
nc -l 2389
客户端:

1
$ nc -w 10 localhost 2389
该连接将在 10 秒后中断。

注意: 不要在服务器端同时使用 -w 和 -l 参数,因为 -w 参数将在服务器端无效果。

4. Netcat 支持 IPv6
netcat 的 -4 和 -6 参数用来指定 IP 地址类型,分别是 IPv4 和 IPv6:

服务器端:

1
$ nc -4 -l 2389
客户端:

1
$ nc -4 localhost 2389
然后我们可以使用 netstat 命令来查看网络的情况:

1
$ netstat | grep 2389
2
tcp 0 0 localhost:2389 localhost:50851 ESTABLISHED
3
tcp 0 0 localhost:50851 localhost:2389 ESTABLISHED
接下来我们看看IPv6 的情况:

服务器端:

1
$ nc -6 -l 2389
客户端:

1
$ nc -6 localhost 2389
再次运行 netstat 命令:

1
$ netstat | grep 2389
2
tcp6 0 0 localhost:2389 localhost:33234 ESTABLISHED
3
tcp6 0 0 localhost:33234 localhost:2389 ESTABLISHED
前缀是 tcp6 表示使用的是 IPv6 的地址。

5. 在 Netcat 中禁止从标准输入中读取数据

该功能使用 -d 参数,请看下面例子:

服务器端:

1
$ nc -l 2389
客户端:

1
$ nc -d localhost 2389
2
Hi
你输入的 Hi 文本并不会送到服务器端。

6. 强制 Netcat 服务器端保持启动状态

如果连接到服务器的客户端断开连接,那么服务器端也会跟着退出。

服务器端:

1
$ nc -l 2389
客户端:

1
$ nc localhost 2389
2
^C
服务器端:

1
$ nc -l 2389
2
$
上述例子中,但客户端断开时服务器端也立即退出。

我们可以通过 -k 参数来控制让服务器不会因为客户端的断开连接而退出。

服务器端:

1
$ nc -k -l 2389
客户端:

1
$ nc localhost 2389
2
^C
服务器端:

1
$ nc -k -l 2389

7. 配置 Netcat 客户端不会因为 EOF 而退出

Netcat 客户端可以通过 -q 参数来控制接收到 EOF 后隔多长时间才退出,该参数的单位是秒:

客户端使用如下方式启动:

1
nc -q 5 localhost 2389
现在如果客户端接收到 EOF ,它将等待 5 秒后退出。

8. 使用 Netcat 来处理 UDP 协议

netcat 默认是使用 TCP 协议,但也支持 UDP,可使用 -u 参数来启用 UDP 协议通讯。

服务器端:

1
$ nc -4 -u -l 2389
客户端:

1
$ nc -4 -u localhost 2389
这样客户端和服务器端都使用了 UDP 协议,可通过 netstat 命令来查看:

1
$ netstat | grep 2389
2
udp 0 0 localhost:42634 localhost:2389 ESTABLISHED
英文原文, OSCHINA原创翻译

分类: BSD/linux, 转载 标签: ,

思索

2012年4月19日 16hot 没有评论

早上又是4点多就醒了。不过这次准确的说法,应该是迷糊中清醒很多了,里彻底的醒还有一段距离。昨天晚上和王锐、公俭和艳昭喝酒聊天,到家都快12点了。这也是这一年多以来,喝得最多的一次。
跟王锐确实有种相见恨晚的感觉。他是个敢说敢干的人,是个实干派,而且年龄、经历跟我非常相近。所以很投合。

早上还是8点多就到公司了,虽然还是很迷糊,但是又要打起精神开始新一天的工作了。
最近一直在反思,我们的目标,我们的理念,我们的运营方式等等。其实这些问题早就该反思了,不应该是现在才开始。只能怪自己懒惰。

分类: 16hot 杂记 标签:

天使投资人王啸:早期融资的9大误区

2012年4月19日 16hot 没有评论

  对于创业者来说,融资是一件无法绕开的大事,而创业的成功往往离不开投资人的支持。Draw Something 一夜成名的背后有著名天使投资人 Ron Conway 的帮助,Instagram 成功的背后也离不开那 9 位投资人的大力支持。但是对于早期融资,创业者往往存在很多误区。下面我们来看看九合创投创始人,“百度七剑客”之一王啸的创业早期融资策略。

  王啸认为,在创业的早期融资中,目前普遍存在着 9 大误区:

创始人股权分配平均,股权过于分散
很多创业者认为,几个创始人平均分配股权可以让大家共同奋斗,不会产生利益方面的争论。其实不然,创业公司一个最大的优势就在于高效的执行力和灵活性,而创始人在这个过程中往往处于一个中心位置。回望所有成功的企业,我们会发现它们几乎都有一个非常特别的创始人,微软、苹果、Amazon 等等无不如此。早期阶段,他们就代表着公司,是他们在驱动着公司不断向前发展。而这种驱动力不仅来自于自身的责任,更来自于“一切我说了算”的决策权。如果几个创始人股权平均太过分散,那么势必影响其决策效率。此时创业公司最大的优势:“执行力和灵活性”就已丧失。

关注钱而忽视了资金背后的投资人
谈到融资,当然需要关注钱。但是正如我们之前所分析,创业者与投资人的连结就像婚姻,与不适合的投资人联姻,很可能会毁掉创业项目。因此,关注资金背后的投资人,关注他们的行业背景、他们所拥有的资源以及他们投资的项目,看看是否能给自己带来真正价值。投资人看一个项目,往往需要对这个项目及其团队骨干做一个非常详细的尽职调查;同样,作为创业者,在寻找投资时,也需要对资金背后的投资人做个类似的尽职调查。

兼职创业希望融到钱后再全职
创业不仅是一项全职工作,更是一项事业。兼职创业说明对自己的项目没有信心或者对自己没有信心,因为你把它放在了第二的后备位置。同时,兼职创业导致不能专注,无法深入。投资人不是傻瓜,如果连自己都对自己(项目)没有信心,他们又怎会投资!

团队没有磨合就融资 lDiscover Hotgirlsfilm K 0 Ca 1 Hot Girls Film 16hot 的博客c x g Sex%20Movie%20VOL.8 %C5%B7%C3%C0BT%CF%C2%D4%D8 mDiscover Hotgirlsfilm K 0 Ca 1 Hot Girls Film 16hot 的博客t e Hot Girls Film