Skip to content

JavaScript filters

User filters can be defined using JavaScript. This allows to create complex filters that are not possible using the quick-search syntax.

For each filter a context is passed containing the following objects and properties:

  • process: The process object to be tested against the filter.
  • _username: The username of the current user.

The process object contains the following properties:

PropertyDescriptionTypeLicense required
pidPID of the processStringNo
nameName of the processStringNo
commandCommand used to start the processStringNo
cpuPercCPU usage of the process in percentStringNo
versionVersion of the processStringNo
priorityPriority of the processStringNo
niceNice value of the processStringNo
userUser owning the processStringNo
residentMemoryResident memory in bytesIntegerNo
virtualMemoryVirtual memory in bytesIntegerNo
threadsNumber of threadsIntegerNo
startTimeStart time of the processDateNo
isApplicationWhether the process is windowed (activationPolicy = .regular)BooleanNo
bundleIdentifierBundle ID (e.g. com.itone.ProcessSpy)StringYes
signingOrganizationExtracted from process signature Subject O elementStringYes
startupEntryTypeOne of the following: launchDaemon, launchAgent, loginItemBookmark or emptyStringYes

Show processes using more than 300 MB of resident memory:

process.residentMemory > 314572800

Show processes from Microsoft:

process.bundleIdentifier.includes('com.microsoft')

Show unsigned processes:

!process.signingOrganization ||
process.signingOrganization.length === 0

Show processes started less than 60 seconds ago:

new Date() - new Date(process.startTime) < 60 * 1000

Show processes with a startup entry:

process.startupEntryType && process.startupEntryType.length > 0