Wondering what’s next for npm?Check out our public roadmap! »

    TypeScript icon, indicating that this package has built-in type declarations

    1.0.1 • Public • Published


    Suspend and resume processes on Windows using NtSuspendProcess() and NtResumeProcess(). This is a Node.js only module, it won't run in any browser or other JavaScript environments.

    This project includes TypeScript declarations.

    Feel free to ask anything by opening an issue on GitHub.

    Only NodeJS 10.x or higher is supported


    The library can be installed from NPM or from GitHub:

    npm i ntsuspend

    npm i FedericoCarboni/node-ntsuspend

    To use it in your project you can import or require() it.

    import { suspend, resume } from 'ntsuspend';
    const { suspend, resume } = require('ntsuspend');

    Note: Make sure to use this package as an optional dependency if you want to support multiple operating systems. Optional imports in ESM can be achieved with top-level await, still unavailable in LTS releases, and dynamic import or by using createRequire().

    if (process.platform === 'win32') {
      const ntsuspend = await import('ntsuspend');
      // ... use ntsuspend
    import { createRequire } from 'module';
    if (process.platform === 'win32') {
      const ntsuspend = createRequire(import.meta.url)('ntsuspend');
      // ... use ntsuspend

    In CommonJS require() can already be used conditionally.

    if (process.platform === 'win32') {
      const ntsuspend = require('ntsuspend');
      // ... use ntsuspend


    The package exports suspend() and resume(), they take the process' PID and return true on success, false otherwise.

    if (!suspend(pid))
      console.log('Could not suspend process');
    if (!resume(pid))
      console.log('Could not resume process');

    If you are using Node.js' child processes the process id can be obtained by using subprocess.pid.

    const subprocess = spawn('executable');
    if (!suspend(subprocess.pid))
      console.log('Could not suspend process');

    Note: If you're not on Windows suspend() and resume() will be undefined.


    This library uses NtSuspendProcess() and NtResumeProcess() from NTDLL, these functions are not officially documented on MSDN; they have been consistently available since Windows XP, but are not guaranteed to work in the future.


    npm i ntsuspend

    DownloadsWeekly Downloads






    Unpacked Size

    7.43 kB

    Total Files


    Last publish


    • avatar