SkillAgentSearch skills...

Pty.js

Bindings to forkpty(3) for node.js.

Install / Use

/learn @chjj/Pty.js
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

pty.js

forkpty(3) bindings for node.js. This allows you to fork processes with pseudo terminal file descriptors. It returns a terminal object which allows reads and writes.

This is useful for:

  • Writing a terminal emulator.
  • Getting certain programs to think you're a terminal. This is useful if you need a program to send you control sequences.

Example Usage

var pty = require('pty.js');

var term = pty.spawn('bash', [], {
  name: 'xterm-color',
  cols: 80,
  rows: 30,
  cwd: process.env.HOME,
  env: process.env
});

term.on('data', function(data) {
  console.log(data);
});

term.write('ls\r');
term.resize(100, 40);
term.write('ls /\r');

console.log(term.process);

Todo

  • Add tcsetattr(3), tcgetattr(3).
  • Add a way of determining the current foreground job for platforms other than Linux and OSX/Darwin.

Contribution and License Agreement

If you contribute code to this project, you are implicitly allowing your code to be distributed under the MIT license. You are also implicitly verifying that all code is your original work. </legalese>

License

Copyright (c) 2012-2015, Christopher Jeffrey (MIT License).

View on GitHub
GitHub Stars870
CategoryDevelopment
Updated1mo ago
Forks210

Languages

C++

Security Score

95/100

Audited on Feb 22, 2026

No findings