中国服务器网

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

Learn more

无法从putty运行.py文件,语法错误:单词意外(期待“)”)

我对Python和Linux都是新手,因此请尽可能简单的解释,尽可能less的假设知识,但我更愿意投入时间和精力去学习。 我有一个运行Linux的Raspberry Pi 2(Model B V1.1)。 我通过腻子与这个pi交互。 我试图创build一个简单的竞争性reflection游戏,由2个button和一个LED组成。 我的目标是让LED在短时间内亮起,而第一个按下button的玩家赢得胜利。 我正在用python写这个脚本(特别是2.7.3) 我的问题是,我无法从putty内运行任何.py文件,我总是收到相同的错误: Syntax error: word unexpected (expecting ")") 要确定问题是否是我的代码中的错误,我创build了一个非常非常简单的.py文件,以检查是否发生相同的错误,并确实如此。 所以我现在相信,即使我的代码是function,一些阻止我运行任何.py文件。 我正在使用的过程如下: 首先我从putty创build一个新的python文件: sudo nano test.py 接下来我input我的Python代码(现在非常简单,因为我无法获取任何.py文件来运行) for each in range(5): print 'hello' 然后按CTRL + O写入文件,按回车键,然后按CTRL + X退出 最后,我使用可执行文件 sudo chmod u+x test.py 并尝试运行它 sudo ./test.py 再次发生类似的错误 Syntax error: "(" unexpected 然后我决定直接在python shell中input代码 sudo python >>>for each […]

使用stdin通过/ proc / {pid} / fd / 0发送命令到java -jar

我试图使用/ proc / {pid} / fd / 0发送一个命令到我的世界服务器jar,但服务器不执行命令。 要复制我正在尝试做的事情,你可以在基于Debian的机器上(也可能是其他的Linux分发版)来做这件事。 我用什么来testing这个: Ubuntu 14.04 minecraft_server.jar (testing1.8) OpenJDK运行环境(使用default-jre-headless安装) 第一个控制台 $ java -jar minecraft_server.jar nogui 响应:[…服务器启动并等待input] say hi 响应:[19:52:23] [Server thread / INFO]:[Server] hi 第二个控制台 现在,当我切换到第二个控制台,与服务器仍然在第一我写: echo "say hi2" >> /proc/$(pidof java)/fd/0 一切都很好,直到我切换回第一个控制台。 我可以看到文字“说hi2”但服务器没有识别它。 我可以在第一个控制台再次写入另一个命令,就好像从第二个控制台input的文本还没有存在。 为什么是这样? 更重要的是,如何以正确的方式使用/ proc / {pid} / fd / 0将命令发送到java jar文件? 我不知道这是否是某种我不知道的Java事物,如果我在执行服务器时可以使用某个标志或某些东西,或者它是服务器JAR本身就是问题。 我知道你可以使用screen,tail -f或者某种服务器封装来实现这个function,但这不是我所追求的。 我想以某种方式发送一个使用这个方法的命令。 […]

生成(非常)大的非重复整数序列,无需预先混洗

背景 我有一个简单的媒体客户端/服务器,我写了,我想产生一个非显而易见的时间价值,我发送每个命令从客户端到服务器。 时间戳会有相当的数据(纳秒分辨率,即使由于现代操作系统中定时器采样的限制,它不是真正准确的),等等。 我试图做的(在Linux上,C语言)是生成一个n位值的序列(让我们假设数据现在存储在128位的int数组元素中),没有重叠/碰撞值。 然后我将一个伪随机的128位值/数字作为“salt”,将其应用于时间戳,然后开始向服务器发送命令,递增预先腌制/预先哈希的值。 时间戳大小的原因是因为时间戳可能需要适应非常长的时间。 题 我怎么能用一个初始的盐值来完成这个序列(不碰撞)呢? 听起来和我的目标一致的最好的方法是从这篇文章中注意到 : 如果选项1对您来说不够“随机”,则使用全局(32位)计数器的CRC-32哈希值。 在N位整数和它们的CRC-N之间存在1对1的映射(双射),所以唯一性仍将得到保证。 但是,我不知道: 如果可以(有效地)扩展到128位数据。 如果某种加法/乘法的盐值为序列提供初始种子,将会扰乱它或引入冲突。 跟进 我意识到我可以使用来自libssl或类似的128位随机哈希,但我希望使用相同的盐值的远程服务器能够将散列的时间戳转换回它们的真实值。 谢谢。