2013-05-06 37 views
5

Tất cả những gì tôi có là hộp bourne shell và busy. Có cách nào để chạy một kịch bản python hoặc biên soạn chương trình ac hoặc bất kỳ ngôn ngữ như perl ..Hộp bận, Chạy chương trình C, python hoặc Perl

như busybox python eatmemory.py 100M

hoặc

busybox gcc eatmemory.c

Những gì tôi cần là để tạo ra một quá trình sẽ tiêu thụ một lượng bộ nhớ cụ thể. và kiểm tra hiệu suất.

Cảm ơn

+1

Có thể trùng lặp: http://stackoverflow.com/questions/4964799/write-a-bash-shell-script-that-consumes-a-constant-amount-of-ram-for-a-user-defi –

+1

Bạn có hệ thống gì? Bạn đã cài đặt Linux trên máy tính xách tay/máy tính để bàn (trước tiên, để tìm hiểu Linux và thứ hai, để biên dịch chéo)? Bạn cũng có thể xem xét sử dụng tinycc (tức là 'tcc' để biên dịch mã C nhanh chóng thành mã máy chưa được tối ưu hóa). –

Trả lời

3

Nếu bạn câu hỏi là

busybox đi kèm với thông dịch viên python hoặc trình biên dịch C?

thì câu trả lời là không.

Nếu đó là

Có một cách để viết một kịch bản mà sẽ chạy theo busybox 'ash vỏ mà chỉ sẽ phân bổ một số bộ nhớ cho tôi?

sau đó xem câu trả lời this, như đề xuất của Andrey.

1

một kịch bản perl đơn giản:

use strict; 
use warnings; 

# store and validate the command line parameter 
my $mb = $ARGV[0]; 
unless (defined $mb and $mb =~ /^\d+$/ and $mb >= 1) { 
    die "Usage: $0 <occupy MB>\nEx: $0 100 - occupies 100 MB memory\n" 
} 
# convert it to bytes. 
my $b = $mb * 1024 * 1024; 

my $memfile; 

# open in-memory file, and seek to size specified to get memory from OS. 
open MEM, '>', \$memfile; 
seek MEM, $b - 1, 0; 
print MEM 'A'; 
close MEM; 
printf "$mb MB memory is occupied, press ENTER to release: "; <STDIN>; 

# till here the memory is occupied by this program. 
undef $memfile; 
printf "Memory released"; 

giả sử bạn đặt tên cho kịch bản eat_memory.pl, bắt đầu nó bằng cách:

perl eat_memory.pl 150 

nơi 150 đại diện MB

+0

Cảm ơn, nhưng tôi không thể chạy perl trên máy, tôi chỉ có thể sử dụng busybox. Và tôi thấy không có cách nào để chạy chương trình c hoặc python hoặc perl bằng cách sử dụng busybox – limovala

+0

@AbhishekLal Nếu bạn không thể chạy Perl, tại sao bạn có nó làm thẻ cho câu hỏi? –

+0

@ Brad Gilbert Tôi thêm nó vì nghi ngờ của tôi "Không busybox đi kèm với một trình thông dịch python, perl hoặc trình biên dịch C?" – limovala

Các vấn đề liên quan