..:: Source code - fs-async.js ::..

/*
This example shows asynchronous execution, non-blocking code.
console.log(contents); blocks process and that's why
console.log('Do something else!'); must wait

Successfully loads files up to 1000MB.
 */

//load modules
var fs = require('fs');

//asynchronous file reading
fs.readFile('./testfiles/largefile1000mb.txt', function(err, content){
	console.log(content);
});

//here process is not blocked. While file is loading the next console.log(); continue with execution

console.log('Do something else!');

/*
Conclusion: Due to asynchronous execution, first appear 'Do something else' then is file dumped.
 */
 

..:: NodeJS Console - fs-async.js ::..

$ node fs-async.js
Do something else!
undefined
$ps -aux | grep node (list all node processes)
sasa        1197  1.1  0.2 1327628 44728 ?       Ssl  Oct18 438:15 node /home/sasa/.pm2/modules/pm2-logrotate/node_modules/pm2-logr
sasa        1211  6.7  0.4 11845888 77320 ?      Ssl  Oct18 2515:43 node /home/sasa/dex8/dex8-api/starter.js
sasa        1218  0.4  0.1 11798448 32704 ?      Ssl  Oct18 168:36 node /home/sasa/dex8/dex8-panel/server/index.js
sasa        1219  0.7  0.2 11844460 35468 ?      Ssl  Oct18 297:44 node /home/sasa/dex8/dex8-www/server/index.js
sasa        1248  0.6  0.3 1332144 49400 ?       Ssl  Oct18 242:48 node /home/sasa/mikosoft-info/api-mikosoft-info/starter.js
sasa        1274  0.3  0.2 1309540 32860 ?       Ssl  Oct18 118:27 node /home/sasa/mikosoft-info/www-mikosoft-info/server/index.js
sasa        1337  0.7  0.4 1165744 75296 ?       Ssl  Oct18 266:37 node /home/sasa/voovuu/voovuu-api/starter.js
sasa        1385  4.2  1.7 12415016 289896 ?     Ssl  Oct18 1578:00 node /home/sasa/voovuu/voovuu-pub/server/index.js
sasa        1387  0.3  0.2 11798204 40576 ?      Ssl  Oct18 131:22 node /home/sasa/@mikosoft/dodo-examples/server/index.js
sasa        1457  0.3  0.2 1302592 37136 ?       Ssl  Oct18 118:58 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1458  0.3  0.2 22280364 40056 ?      Ssl  Oct18 121:22 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1514  0.3  0.1 1231844 28348 ?       Ssl  Oct18 118:22 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1515  0.3  0.1 1165924 28308 ?       Ssl  Oct18 118:04 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1593  0.3  0.1 1165028 28040 ?       Ssl  Oct18 118:41 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1595  0.3  0.1 1165664 27504 ?       Ssl  Oct18 118:23 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1660  0.3  0.1 1165296 27404 ?       Ssl  Oct18 118:08 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1661  0.3  0.1 1168224 21968 ?       Ssl  Oct18 118:12 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1732  0.3  0.1 1102176 21552 ?       Ssl  Oct18 118:15 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1734  0.3  0.1 1102176 21128 ?       Ssl  Oct18 117:52 node /home/sasa/dex8/dex8-worker/starter.js
sasa        1792  2.8  2.8 12349972 472488 ?     Ssl  Oct18 1062:21 node /home/sasa/mikosoft-info/crypto-mikosoft-info/server/index.
sasa      367471  1.1  0.2 11870928 35400 ?      Ssl  Oct21 363:13 node /home/sasa/miko/miko-hr/server/index.js
sasa     2446447  0.5  0.4 11834596 75324 ?      Ssl  Nov09  26:27 node /home/sasa/mikosoft-info/dodo-mikosoft-info/server/index.js
sasa     2511306  0.5  0.2 1330124 44796 ?       Ssl  Nov10  24:12 node /home/sasa/miko/miko-hr/api/starter.js
sasa     3034860  0.3  0.3 11794612 50132 ?      Ssl  02:19   1:49 node /home/sasa/mikosoft_hr/www-mikosoft-hr/server/index.js
sasa     3040759  0.3  0.1 1292032 27396 ?       Ssl  02:31   1:35 node /home/sasa/dex8/dex8-kiosk/server/index.js
root     3404628  0.0  0.0   9492  2228 ?        Ss   04:08   0:00 bash -c  which psql mongosh mongo 2>/dev/null echo "=== PG test ===" PGPASSWORD="w583Cr#ZED" psql -h 127.0.0.1 -p 6543 -U kriptus_user -d kriptus_dev -tAc "SELECT 1" 2>&1 | head -5 echo "=== MONGO test (node) ===" cd /home/sasa/kriptus/kriptus-api 2>/dev/null && node -e " const {MongoClient}=require(\"mongodb\"); (async()=>{ try{ const c=new MongoClient(\"mongodb://kript:12345@127.0.0.1:27017/kriptus-dev\",{serverSelectionTimeoutMS:5000}); await c.connect(); const d=await c.db().admin().listDatabases(); console.log(\"DBS:\", d.databases.map(x=>x.name).join(\",\")); await c.close(); }catch(e){ console.log(\"ERR\", e.message); } })(); " 2>&1 | head -5 
root     3404790  0.0  0.2 1114980 34344 ?       Sl   04:08   0:05 node -e  const {MongoClient}=require("mongodb"); (async()=>{ try{ const c=new MongoClient("mongodb://kript:12345@127.0.0.1:27017/kriptus-dev",{serverSelectionTimeoutMS:5000}); await c.connect(); const d=await c.db().admin().listDatabases(); console.log("DBS:", d.databases.map(x=>x.name).join(",")); await c.close(); }catch(e){ console.log("ERR", e.message); } })(); 
www-data 3514620  0.0  0.0   2608   576 ?        S    11:00   0:00 sh -c ps -aux | grep node
www-data 3514622  0.0  0.0   3304   640 ?        S    11:00   0:00 grep node