Tag: linux

如何找出哪些进程在Linux交换?

在Linux下,如何找出哪个进程使用交换空间更多?

在Amazon Cloud Server上设置FTP

我试图在亚马逊云服务器上设置FTP,但没有运气…我在网上search,没有具体的步骤如何做到这一点… 由于网上没有任何步骤,有人可以帮我find它或写在这里? 我通常使用专用的服务器或共享主机,但是我对这些云服务器不太好… 我发现这些命令运行: $ yum install vsftpd $ ec2-authorize default -p 20-21 $ ec2-authorize default -p 1024-1048 $ vi /etc/vsftpd/vsftpd.conf #<em>—Add following lines at the end of file—</em> pasv_enable=YES pasv_min_port=1024 pasv_max_port=1048 pasv_address=<Public IP of your instance> $ /etc/init.d/vsftpd restart 但我不知道在哪里写… 帮帮我?

为什么C预处理器将单词“linux”解释为常量“1”?

为什么GCC中的C预处理器将linux (小写字母)解释为常量1 ? test.c的: #include <stdio.h> int main(void) { int linux = 5; return 0; } $ gcc -E test.c结果(在预处理阶段后停止): …. int main(void) { int 1 = 5; return 0; } 当然,这会产生一个错误。 (顺便说一下:stdio.h文件中没有#define linux 。)

C代码中的“: – !!”是什么?

我在/usr/include/linux/kernel.h中碰到这个奇怪的macros代码: /* Force a compilation error if condition is true, but also produce a result (of value 0 and type size_t), so the expression can be used eg in a structure initializer (or where-ever else comma expressions aren't permitted). */ #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); })) #define BUILD_BUG_ON_NULL(e) ((void *)sizeof(struct { int:-!!(e); })) 什么:-!! 做?

Django服务器频繁死亡

我正在开发一个Django项目并在专用服务器上进行testing。 该项目正在运行: django 1.9.6 的virtualenv python2.7 cx_Oracle 5.2.1 运行 python manage.py runserver 192.168.30.17:8080 & 一切顺利。 项目运行和ps aux我得到,例如: root 8437 0.0 0.9 461108 39036 pts/0 S 15:17 0:00 python manage.py runserver 192.168.30.17:8080 root 8861 3.5 1.5 1319364 64232 pts/0 Sl 15:24 0:14 /new_esmart/esmart_env/bin/python manage.py runserver 192.168.30.17:8080 问题:服务器频繁出现故障,在shell上没有显示错误 。 我只是收到: Killed 我怎样才能find更多的信息,find这次杀人的原因? 注意 :目前没有gunicorn et similia解决scheme。 我必须在接下来的几个小时内使用django服务器 […]

x86-64 Linux中不再允许32位绝对地址?

64位Linux默认使用小内存模式,这将使所有的代码和静态数据低于2GB的地址限制。 这确保您可以使用32位绝对地址。 老版本的gcc使用静态数组的32位绝对地址来保存一个额外的相对地址计算指令。 但是,这不再起作用。 如果我试图在程序集中创build一个32位的绝对地址,我得到链接器错误:“在创build共享对象时不能使用对`.data的重定位R_X86_64_32S;使用-fPIC重编译”。 这个错误信息当然是误导性的,因为我没有创build一个共享对象,-fPIC也没有帮助。 到目前为止我发现的是:gcc版本4.8.5使用静态数组的32位绝对地址,gcc版本6.3.0不使用。 版本5可能不会。 binutils 2.24中的链接器允许32位绝对地址,而2.28版本则不允许。 这种改变的后果是,旧的库必须重新编译,旧的汇编代码被破坏。 现在我想问一下:这个改变是什么时候发生的? 有logging吗? 有没有一个链接器选项,使其接受32位绝对地址?

分配更多的内存比使用malloc存在

这个代码片段每次从stdin中读取字母“u”时将分配2Gb,并且在读取“a”时将初始化所有分配的字符。 #include <iostream> #include <stdlib.h> #include <stdio.h> #include <vector> #define bytes 2147483648 using namespace std; int main() { char input [1]; vector<char *> activate; while(input[0] != 'q') { gets (input); if(input[0] == 'u') { char *m = (char*)malloc(bytes); if(m == NULL) cout << "cant allocate mem" << endl; else cout << "ok" << endl; activate.push_back(m); […]

cqlsh连接错误:'ref()不带关键字参数'

我已经尝试了这个post和Cassandra文档的所有措施。 我已经尝试了运行Cassandra的所有版本,包括tarball和Debian软件包的最新版本3.7,但是当我执行cqlsh时候,我总是收到错误cqlsh 。 错误: 连接错误:('无法连接到任何服务器',{'127.0.0.1':TypeError('ref()不带关键字参数')}) 在我将Linux Mint从17.3升级到18之前,运行Cassandra并没有问题。 我相信我安装了所有必要的软件包,如java 8和python 2.7.12。 我认为这个问题存在于cassandra.yaml文件中,因为默认设置不起作用,但我不确定如何正确configuration才能使其运行。 任何build议感激。

是否有可能改变在Python中的父进程的环境?

在Linux中当我从shell调用python复制它的环境,并启动python进程。 因此,如果我做了如下的事情: import os os.environ["FOO"] = "A_Value" 当python进程返回时,假设它原来是未定义的,FOO仍然是未定义的。 有没有办法让python进程(或任何subprocess)修改其父进程的环境? 我知道你通常使用类似的东西来解决这个问题 source script_name.sh 但这与我的其他要求相冲突。

什么是Linux中的双点(..)和单点(。)?

ls -ai命令显示. 并且..具有与当前目录和父目录相同的索引节点。 谁能告诉我究竟是什么. 和..是? 他们是真正的文件,甚至是硬链接? 但据我所知,不能创build一个硬链接到一个目录。