Articles of 子stream程

stream浪ssh -c并保持连接后closures后台进程

我正在编写一个脚本来启动和背景stream浪机器内的进程。 似乎每次脚本结束,ssh会话结束,后台进程也结束。 这是我正在运行的命令: vagrant ssh -c "cd /vagrant/src; nohup python hello.py > hello.out > 2>&1 &" hello.py实际上只是一个烧瓶开发服务器。 如果我以交互方式login到ssh并手动运行nohup命令,closures会话后,服务器将继续运行。 但是,如果我通过vagrant ssh -c运行它,就好像命令从不运行(即,没有创buildhello.out文件)。 手动运行和通过vagrant ssh -c运行它有什么区别,以及如何修复它以便它能够工作?

如何使用tc和cgroup修改数据包

我正在尝试优先处理从某个进程组生成的数据包,以便首先从PC中select它们。 我的目标是通过使用cgroups和tc来做到这一点,但似乎不工作。 首先,我在ubuntu上设置cgroups如下, modprobe cls_cgroup # load this module to get net_cls mkdir /sys/fs/cgroup/net_cls # mount point mount -t cgroup net_cls -onet_cls /sys/fs/cgroup/net_cls/ mkdir /sys/fs/cgroup/net_cls/foo # new cgroup echo 0x00010001 > /sys/fs/cgroup/foo/net_cls.classid # echo in a class id echo 2348 > /sys/fs/cgroup/net_cls/foo/tasks # echo in pid of firefox tc qdisc add dev eth0 root handle […]

处理socket描述符如文件描述符(fstream)? C ++ / Linux的

偶然发现,我可以读写套接字描述符。 我可以以某种方式(ab)使用fstream机制将数据输出到套接字描述符?

如何序列化一个对象通过networking发送

我想通过套接字使用STL序列化对象通过networking发送。 我没有find一种方法来保持对象的结构在其他主机反序列化。 我试图转换为string ,以char* ,我花了很长时间在互联网上search教程,直到现在,我什么都没有find。 有没有办法做到这一点只有STL? 有没有好的教程? 我几乎试图提高,但如果有如何与STL做,我想学习。

无法从stream动虚拟机发出出站HTTP请求

我无法从我设置的Vagrant虚拟机内连接到互联网。 例如,在根,当我input: curl http://google.com 它失败的消息: curl: (6) Couldn't resolve host 'google.com' 我不确定是否是防火墙设置,但据我所知,我还没有为端口80或任何其他端口创build任何防火墙规则。 这是我的stream浪文件的相关部分。 如果有任何其他信息可以提供,请在评论中告诉我们: Vagrant.configure("2") do |config| # All Vagrant configuration is done here. The most common configuration # options are documented and commented below. For a complete reference, # please see the online documentation at vagrantup.com. # Let Vagrant manage the hostname at boot […]

麻烦与stream浪汉 – “404 – 找不到”

我正在尝试使用Vagrant制作一个LAMP盒子。 我被告知使用它非常简单。 我对networking和虚拟机器是完全陌生的,而且对Linux / Ubuntu很less有经验。 我目前已经在官方文档页面上尝试了以下教程: http : //docs.vagrantup.com/v2/getting-started/networking.html 。 我已经到了文档中的networking文章,似乎无法得到它的工作。 现在的问题是,由于我的networking和基于Linux操作系统的经验不足,我不知道从哪里开始解决问题。 我会尽力提供尽可能多的信息。 我正在运行带有Windows 8.1的最新版本的Virtualbox的最新版本的Vagrant。 根据教程,我目前的Vagrantfile看起来像这样: Vagrant.configure(2) do |config| config.vm.box = "hashicorp/precise32" config.vm.provision :shell, path: "bootstrap.sh" config.vm.network :forwarded_port, host: 4567, guest: 80 end 我的bootstrap.sh文件如下所示: #!/usr/bin/env bash apt-get update apt-get install -y apache2 if ! [ -L /var/www ]; then rm -rf /var/www ln -f /vagrant […]

inotify – 如何找出哪个用户修改了文件?

我正在寻找指导如何找出哪个用户已经修改了一个特定的文件。 虽然inotify是很好的通知当一个特定的文件被触摸,我怎么知道哪个用户已经修改该文件? 我可以考虑使用lsof,但是恐怕它可能不是我想要的“实时”,也可能是对资源征税太多。 实时,我的意思是,如果用户只是简单地执行一个文件的touch命令,当我在文件上运行lsof时,它可能不会被lsof拾取。

无法使用HeidiSQL连接到Vagrant:“无法连接到'localhost'上的MySQL服务器

我正在使用苏格兰威士忌箱 ,一个真棒stream浪者灯栈。 我能够在5分钟内在Macbook上设置所有内容,但是我的Windows机器上有问题。 当我尝试使用HeidiSQL客户端连接到vagrant数据库时,出现以下错误: 以下是我的连接设置: 我也尝试了SSH隧道选项卡上的端口22,我已经仔细检查了我的密码: MySQL: root / root stream浪者:stream浪者/stream浪者 我已经确认MySQL服务正在运行,并且当我login到Vagrant实例时,我可以通过命令行连接到MySQL。 任何想法为什么这不是为我开箱即用? 谢谢! 编辑: 如果有帮助的话,这里是Vagrantfile : # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "scotch/box" config.vm.network "private_network", ip: "192.168.33.10" config.vm.hostname = "scotchbox" config.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=777", "fmode=666"] end

在Docker中通过Vagrant共享卷

我有一个承载Docker容器的Vagrant虚拟机。 主机有一个需要在虚拟机和容器中可访问的文件夹: Host: /host/path => VM: /vagrant/path => Container: /docker/path 背景: /host/path/保存在容器级别可用的项目的开发文件,以确保在进行更改时自动重新加载。 组态 stream浪汉: Vagrant.configure("2") do |config| config.vm.synced_folder "/host/path", "/vagrant/path" end 泊坞窗: docker run -name mycontainer -d -v /vagrant/path:/docker/path my/image 问题 这个configuration工作,直到我重新加载虚拟机。 例如,当我重新启动计算机并启动vagrant up ,泊坞窗容器只能识别/docker/path的空文件夹。 我想这可能是一些时间或顺序问题。 /vagrant/path不是空的,并且有正确的内容。 我现在的解决方法是每次重新启动虚拟机后重新加载容器: docker rm mycontainer docker kill mycontainer docker run -name mycontainer -d -v /vagrant/path:/docker/path my/image 那感觉不对 有任何想法吗?

C Linux带宽限制的应用程序

有什么方法可以尝试抑制循环内的send / sendto()函数。 我为我的networking创build了一个端口扫描器,我尝试了两种方法,但它们似乎只能在本地工作(当我在家用机器上testing它们时,它们工作,但是当我尝试在另一台不想创build的机器上testing它们时油门)。 方法1 我最初是parsing/proc/net/dev并在“bytes sent”属性中读取数据,并将我的睡眠时间设置为基于此。 这在当地工作(睡眠延迟调整,以调整带宽stream量),但只要我尝试在另一台服务器上也用/proc/net/dev它似乎没有调整数据的权利。 我在我本地扫描的一台机器上运行dstat ,并且输出的数据很快。 方法2 然后我试图跟踪总共发送了多less个字节,并将其添加到total_sentvariables中,我的带宽线程将读取并计算一个睡眠定时器。 这也适用于我的本地机器,但是当我在服务器上尝试时,它只是说每次我的带宽线程检查total_sent时只发送1-2个数据包,使我的带宽线程减less睡眠到0,但即使在0 total_sent由于睡眠时间减less,variables没有增加,而是保持不变。 总的来说,我想要一种方法来监视Linux计算机的带宽,并计算一个hibernate时间,我可以传递到每个send / sendto()套接字调用之前或之后的usleep()来抑制带宽。 编辑:我忘了提到的一些其他的事情是,我有一个speedtest函数,计算机器的上传速度,我有2个线程。 1线程根据带宽使用情况调整全局睡眠定时器,线程2将数据包发送到远程机器上的端口,以testing它们是否打开并对它们进行指纹(现在我只是使用带有sendto() udp数据包来testing这一切)。 如何使用usleep()实现对send / sendto()调用的带宽限制。 编辑:这是我的带宽监视线程的代码。 不要关心结构的东西,它只是将数据传递给线程的方式。 void *bandwidthmonitor_cmd(void *param) { int i = 0; double prevbytes = 0, elapsedbytes = 0, byteusage = 0, maxthrottle = 0; //recreating my param struct i passed to the thread […]