روزنوشته های یک برنامه نویس

ابزار مانیتور یک پروسس

سه شنبه, ۲۷ اسفند ۱۳۹۸، ۱۰:۵۲ ق.ظ

pidstat از مجموعه ابزار sysstat

مثال: مانیتور دو پروسس هر پنج ثانیه

$ pidstat -h -r -u -v -p 12345,11223 5

 

منبع

  • epi log

تست سرعت دیسک

دوشنبه, ۶ اسفند ۱۳۹۷، ۱۰:۱۴ ق.ظ

Linux:

sync ; time sh -c "dd if=/dev/zero of=testfile bs=8M count=10k  && sync" 2>/dev/stdout  ; rm test file


  • epi log

مدل و تولید کننده هارد دیسک scsi در لینوکس

دوشنبه, ۱۸ دی ۱۳۹۶، ۱۲:۲۶ ب.ظ


cat /sys/class/scsi_device/0\:0\:0\:0/device/model
cat /sys/class/scsi_device/0\:0\:0\:0/device/vendor

  • epi log

دستورات مفید VMware ESXi

دوشنبه, ۲۰ شهریور ۱۳۹۶، ۱۲:۵۸ ب.ظ

لیست تمام ماشین ها:

vim-cmd vmsvc/getallvms


روشن کردن ماشین:

vim-cmd vmsvc/power.on /path/to/vm.vmx


خاموش کردن ماشین:

vim-cmd vmsvc/power.off /path/to/vm.vmx



  • epi log

مشاهده برنامه ای که یک پورت را گوش می دهد

سه شنبه, ۱۴ شهریور ۱۳۹۶، ۰۳:۳۱ ب.ظ

lsof -n -i:$PORT | grep LISTEN

Linux:
netstat -nap | grep $PORT

Windows(Not tested):
netstat -nap
| findstr %PORT




  • epi log

اجرای برنامه خارجی از طریق افزونه فایرفاکس

سه شنبه, ۱۴ شهریور ۱۳۹۶، ۰۲:۵۰ ب.ظ

برای اجرای یک اپلیکیشن خارجی از طریق افزونه فایرفاکس باید از WebExtensions استفاده کرد؛ در حال حاضر تنها راه؛ استفاده از native messaging است؛ بدین صورت که حتما باید برنامه خارجی شما messaging مورد استفاده را بلد باشد. 

نمونه پیاده سازی شده اینجا وجود دارد.


اجرای فایل از طریق افزونه فایرفاکس در نسخه های قدیمی(از منوی Tools->Web Developer->Browser Console هم قابل اجراست):

var { Cc, Ci } = require("chrome");

var exeFile = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);

exeFile.initWithPath("/path/to/my/prog");

var parameter="salam";

if(exeFile.exists()){

    var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);  

    process.init(exeFile);

    process.run(false,[parameter],1);

}


سایر منابع:



  • epi log

استریم به صورت RTP

دوشنبه, ۱۳ شهریور ۱۳۹۶، ۰۵:۱۵ ب.ظ

استریم کردن فایل به فرمت rtp: 

ffmpeg -re -i 1.wav -f rtp -payload_type 8 rtp://127.0.0.1:5545


پخش همان rtp:

ffplay  rtp://127.0.0.1:5545


  • epi log

۱. دانلود و نصب e2fsprogs:

https://github.com/tytso/e2fsprogs


۲. دفرگ کردن دیسک

sudo e4defrag /


۳. زیرو کردن فضای خالی دیسک:
dd if=/dev/zero of=wipefile bs=1M; sync; rm wipefile

۴. شرینک کردن(vmware-tools لازم است):
sudo vmware-toolbox-cmd disk shrinkonly

*‌ در صورتی که سیستم عامل میزبان؛ فایل سیستم سیستم عامل مهمان را بشناسد می توان به جای مرحله ۴ از دستور زیر در میزبان استفاده کرد:

vmware-vdiskmanager -d VirtualDisk.vmdk


  • epi log

آپدیت gcc در centos 6.5

چهارشنبه, ۸ شهریور ۱۳۹۶، ۰۹:۴۱ ق.ظ


cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo 
yum --enablerepo=testing-1.1-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++

export CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc  
export CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp
export CXX=/opt/centos/devtoolset-1.1/root/usr/bin/c++

منبع


  • epi log

آرایه ها در bash

دوشنبه, ۳۰ مرداد ۱۳۹۶، ۰۹:۴۶ ق.ظ


ARRAY=(test) # initialize array
ARRAY+=('foo') # append 'foo'
ARRAY+=('bar') # append 'bar'
for a in ${ARRAY[*]}; do # walking in the ARRAY
        echo $a
done


  • epi log