Articles of 随机

Bash脚本启动进程,等待随机,终止进程,重启

我是一个绝对的初学者,并试图创build一个bash脚本来随机化命令行应用程序的开始和退出。 我打算在启动(Crunchbang)后自动启动脚本,在autostart.sh中稍微延迟一下(可在http://interwebworld.co.uk/2011/10/23/how-to-launch-programs-自动启动在crunchbang-linux / ) (sleep 300s && /home/myuser/Scripts/randomizer.sh) & 这实际上就是我需要在randomizer.sh脚本中完成的一些伪代码: start applicationfile wait a random period of time if applicationfile is still running kill its process wait a random period of time exit this script and restart this script else exit this script and restart this script randomizer.sh,因为我到目前为止,我会欢迎一些帮助,如下(包含伪代码的残余),并在这里find睡眠延迟: http : //blog.buberel.org/2010/ 07 / HOWTO随机睡眠持续时间的function于bash.html /path/to/applicationfile […]

Linux / perl mmap性能

我正在尝试使用mmap优化对大数据集的处理。 数据集是在千兆字节范围内。 这个想法是将整个文件映射到内存中,允许多个进程并发处理数据集(只读)。 这不是按预期工作。 作为一个简单的testing,我简单的mmap文件(使用perl的Sys :: Mmap模块,使用我认为直接映射到底层C函数的“mmap”),并让进程hibernate。 当这样做的时候,代码在从mmap调用返回之前花费了一分多时间,尽pipe这个testing什么都不做,甚至没有从mmap的文件中读取。 猜测,虽然也许linux要求整个文件在第一次mmap化时被读取,所以当文件在第一个进程(当它正在睡觉时)被映射后,我在另一个试图读取前几兆字节的文件。 令人惊讶的是,似乎第二个过程在从mmap调用返回之前花费了大量的时间,大约与mmap第一次一样。 我已经确定MAP_SHARED正在被使用,第一次映射文件的过程仍然是活动的(它没有终止,并且mmap还没有被映射)。 我期望一个mmapped文件可以让我给多个工作进程有效地随机访问这个大文件,但是如果每个mmap调用都需要先读取整个文件,那就更困难了。 我还没有使用长时间运行的进程进行testing,看看在第一次延迟之后访问是否快速,但我期望使用MAP_SHARED,而另一个单独的进程就足够了。 我的理论是,mmap会立即返回,而linux会按照需求或多或less的方式加载块,但是我所看到的行为是相反的,表明它需要通过每次调用mmap时读取整个文件。 任何想法我做错了,或者如果我完全误解了mmap应该如何工作?

std :: normal_distribution <double>导致错误的命令窗口与Linux?

任何人来访问这个问题? 每1实现不需要产生相同的数据。 在实践中呢 – arm,x86,free和commercial编译器在STL实现方面有很多不同吗? // g++ –std=c++11 -oa minimal.cpp && ./a #include <iostream> #include <random> using namespace std; int main() { std::mt19937_64 gen; gen.seed(17); cout << "\nNormal\n"; normal_distribution<double> distr1; for (int i = 0; i < 2; i++) { double delay = distr1(gen); printf(" Value = %15.15g\n", delay); } return(0); } /* Results (1) […]

multithreadingrandom_r比单线程版本慢

以下程序基本上与此处所述的程序相同。 当我使用两个线程(NTHREADS == 2)运行和编译程序时,我得到以下运行时间: real 0m14.120s user 0m25.570s sys 0m0.050s 当它只用一个线程(NTHREADS == 1)运行时,即使只使用一个内核,运行时间也会显着提高。 real 0m4.705s user 0m4.660s sys 0m0.010s 我的系统是双核的,我知道random_r是线程安全的,我很确定它是非阻塞的。 当同样的程序在没有random_r的情况下运行并且余弦和正弦的计算被用作replace时,双线程版本运行的时间大约是预期的1/2。 #include <pthread.h> #include <stdlib.h> #include <stdio.h> #define NTHREADS 2 #define PRNG_BUFSZ 8 #define ITERATIONS 1000000000 void* thread_run(void* arg) { int r1, i, totalIterations = ITERATIONS / NTHREADS; for (i = 0; i < totalIterations; […]

Python的SystemRandom / os.urandom总是有足够的熵来encryption

我有一个密码生成器: import random, string def gen_pass(): foo = random.SystemRandom() length = 64 chars = string.letters + string.digits return ''.join(foo.choice(chars) for _ in xrange(length)) 根据文档,SystemRandom使用os.urandom使用/ dev / urandom丢弃随机cryto位。 在Linux中,你可以从/ dev / urandom或者/ dev / random中得到随机数,它们都使用内核可以得到的任何熵。 可以使用tail / proc / sys / kernel / random / entropy_avail来检查可用的熵的数量,这将返回一个数字,如:129。熵越高,可用的熵越多。 / dev / urandom和/ dev / random之间的区别在于,如果entropy_avail足够高(至less60),/ dev / random将只会吐出位,而/ […]

/ dev / random是否真的是随机的?

例如,它可以用来生成一次性密钥? 此外,它的来源是什么?如何用它来生成x和y之间的随机数?

UuidCreate是否使用CSPRNG?

请注意,这不是我的应用程序,它是一个我为客户端testing的应用程序。 我通常在https://security.stackexchange.com/上提问这样的问题,但是这是我在这里询问的更多编程相关的问题。 当然,UUID的RFC 4122并没有规定types4的UUID必须由密码安全的伪随机数发生器(CSPRNG)生成。 它只是说 将所有其他位设置为随机(或伪随机)select的值。 尽pipe该algorithm的一些实现(例如Java中的这种algorithm)确实使用了CSPRNG。 我试图深入了解微软的实施是否成功。 主要围绕.NET或MSSQL Server如何生成它们。 检查.NET源代码,我们可以看到这个代码: Marshal.ThrowExceptionForHR(Win32Native.CoCreateGuid(out guid), new IntPtr(-1)); return guid; 检查CoCreateGuid docco,它说 CoCreateGuid函数调用RPC函数UuidCreate 所有我能find关于这个function在这里 。 我似乎已经到了兔子洞的尽头。 现在,有没有人有关于如何UuidCreate生成其UUID的任何信息? 我见过很多相关的post: 随机是如何System.Guid.NewGuid()? (拿两个) 使用GUID是一种有效的方法来生成随机string和数字? GUID有多么可靠的不可猜测? 在SQL Server中如何生成GUID? 其中第一个说: GUID不保证随机性,它保证了唯一性。 如果你想随机,使用随机生成一个string。 我同意,除了在我的情况下,随机,不可预测的数字,你当然会使用CSPRNG而不是Random (例如RNGCryptoServiceProvider )。 而后者的状态(实际上是从维基百科引用的): WinAPI GUID生成器的密码分析表明,由于V4 GUID的序列是伪随机的; 在充分了解内部状态的情况下,可以预测之前和之后的值 威尔·迪恩说,现在,围栏的另一边 上一次(几年前,可能是XP SP2)研究了这个问题之后,我直接进入操作系统代码,看看实际发生了什么,并且用安全的随机数生成器生成一个随机数。 当然,即使目前正在使用CSPRNG,这也将是特定于实现的,并随时可能发生变化(例如Windows的任何更新)。 不太可能,但理论上可行。 我的观点是没有任何规范的参考,上面是为了certificate我已经完成了我的研究,上面的这些post都没有引用任何权威的东西。 原因是我试图决定是否需要更改使用GUID作为authentication令牌的系统。 从纯粹的deviseangular度来看,答案是肯定的,然而从实际的angular度来看,如果Windows UuidCreate函数事实上使用了CSPRNG,那么系统没有直接的风险。 任何人都可以解释这一点吗? 我正在寻找一个有信誉的来源备份它的答案。

CryptGenRandom熵

CryptGenRandom是Windows中的CryptoAPI中的随机数生成器函数。 那个随机数发生器有多less熵? 我已经看了很多,但是我找不到。 提前致谢。

Windows'rand_s线程安全吗?

就像标题一样。 怀疑它是,但我找不到明确指出的任何地方。 而对于这个属性,我不想依赖投机。

从某个文件夹开始随机的batch file

问题是这样的,我有一个文件夹命名为“ABC”与几个batch file,他们是这样命名的: abc1.bat abc2.bat abc3.bat abc4.bat 等等… 我需要一个脚本,当我点击它的时候会随机启动这些batch file之一。 我需要的脚本将通过名称“abcRandom.bat”或类似的东西存储在相同的文件夹中。