Чи є аргумент командного рядка, який я можу передати, щоб /bin/ps -aux
він змусив записати свій вихід у файл?
редагувати: щоб змінити проблему:
- Відкрити Firefox
- Увімкнути налаштування розробника (або як ярлик встановити додаток DevPrefs )
- Відкрийте Scratchpad, натиснувши Shift + F4
- У рядку меню перейдіть до меню «Браузер» та натисніть «Навколишнє середовище»
Тепер в коді скретчпад вставте цей код, цей код знайде ps, а потім запустіть його з параметрами командного рядка
aux
і>PATH_TO_DESKTOP_me.txt
var thisWin = Services.ww.activeWindow; var env = Cc['@mozilla.org/process/environment;1'].getService(Ci.nsIEnvironment); var psCommand = 'ps'; var paths = env.get('PATH').split(':'); var len = paths.length; for (var i = 0; i < len; i++) { try { var fullyQualified = new FileUtils.File(OS.Path.join(paths[i], psCommand)); console.log('fullyQualified:', fullyQualified.path) if (fullyQualified.exists()) { var ps = fullyQualified; break; } } catch (e) { // keep checking PATH if we run into NS_ERROR_FILE_UNRECOGNIZED_PATH } } if (!ps) { console.error("Error: a task list executable not found on filesystem"); thisWin.alert('Error: a task list executable not found on filesystem'); throw new Error("Error: a task list executable not found on filesystem"); } thisWin.alert('path to ps: "' + ps.path + '"'); var process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess); process.init(ps); var procFinned = { observe: function (aSubject, aTopic, aData) { thisWin.alert('ps completed'); } }; var filePathToOutputTo = OS.Path.join(OS.Constants.Path.desktopDir, 'me.txt'); thisWin.alert('will write to file path: "' + filePathToOutputTo + '"'); var args = ['aux', '>' + filePathToOutputTo]; var a = process.runAsync(args, args.length, procFinned);
Потім натисніть Ctrl + R, щоб запустити код, або можете зробити те ж саме, перейдіть до меню "Виконати" і натисніть "Виконати".
Тож код запускає процес ps із саме тут:
var args = ['aux', '>' + filePathToOutputTo];
var a = process.runAsync(args, args.length, procFinned);
- Спробували комбінації:
- з цитатами:
var args = ['aux', '>"' + filePathToOutputTo + '"'];
- як одна вхідна величина масиву з лапками
var args = ['aux >"' + filePathToOutputTo + '"'];
- як один запис масиву без лапок:
var args = ['aux >' + filePathToOutputTo + ''];
- з цитатами: